Cara Menyiapkan Proksi Reverse Nginx
- 1747
- 331
- Noah Torp
Dalam panduan ini, anda akan belajar bagaimana menyediakan proksi terbalik nginx dengan arahan langkah demi langkah. Kami juga akan menerangkan bagaimana pelayan proksi terbalik berfungsi dan kelebihannya. Di samping.
Dalam tutorial ini anda akan belajar:
- Bagaimana proksi terbalik berfungsi
- Apakah faedah proksi terbalik
- Cara Menyiapkan Proksi Reverse Nginx
- Cara Lulus Tajuk
- Cara mengkonfigurasi pengimbangan beban
- Cara menguji konfigurasi nginx
Keperluan perisian dan konvensyen yang digunakan
Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Pengedaran-bebas |
Perisian | Nginx |
Yang lain | Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah. |
Konvensyen | # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak |
Bagaimana proksi terbalik berfungsi?
Sistem yang terletak di antara klien dan pelayan web (atau pelayan) boleh dikonfigurasikan sebagai proksi terbalik. Perkhidmatan proksi bertindak sebagai frontend dan berfungsi dengan mengendalikan semua permintaan klien yang masuk dan mengedarkannya ke web backend, pangkalan data, dan/atau pelayan lain.
Faedah proksi terbalik
Mengkonfigurasi proksi terbalik nginx bermaksud bahawa semua permintaan masuk dikendalikan pada satu titik, yang memberikan beberapa kelebihan:
- Mengimbangi beban - Proksi terbalik mengedarkan sambungan masuk ke pelayan backend, dan bahkan boleh melakukannya mengikut beban semasa yang setiap pelayan berada di bawah. Ini memastikan bahawa tidak ada pelayan backend yang dibebankan dengan permintaan. Ia juga menghalang downtime, kerana proksi terbalik boleh mengubah trafik jika pelayan backend berlaku untuk pergi ke luar talian.
- Pembalakan pusat - Daripada mempunyai pelbagai pelayan menjana fail log, proksi terbalik boleh log semua maklumat yang relevan di satu lokasi. Ini menjadikan pekerjaan pentadbir sangat mudah, kerana masalah dapat diasingkan lebih cepat dan tidak perlu menghuraikan fail log dari pelbagai lokasi ketika masalah penyelesaian masalah.
- Keselamatan yang lebih baik - Proksi terbalik akan menghalang maklumat mengenai pelayan backend, serta bertindak sebagai barisan pertahanan pertama terhadap serangan masuk. Oleh kerana proksi terbalik menapis lalu lintas sebelum meneruskannya ke backend, hanya lalu lintas yang tidak berbahaya yang dihantar ke pelayan lain.
- Prestasi yang lebih baik - Pelayan proksi terbalik boleh membuat keputusan pintar mengenai cara mengedarkan beban di seluruh pelayan backend, yang menghasilkan masa tindak balas yang lebih cepat. Tugas pelayan biasa lain seperti caching dan mampatan juga boleh dimuat turun ke pelayan proksi terbalik, membebaskan sumber untuk pelayan backend.
Pelayan proksi terbalik bukan komponen yang diperlukan dalam setiap senario hosting web. Kelebihan proksi terbalik menjadi paling jelas di bawah keadaan trafik yang tinggi atau situasi di mana pelayan backend berganda digunakan dan memerlukan beberapa bentuk pengimbangan beban.
Mengapa nginx?
Sekarang kami telah menggariskan kelebihan proksi terbalik, anda mungkin tertanya -tanya mengapa anda harus mengkonfigurasi satu dengan nginx, khususnya. Skala nginx dan keupayaannya yang terbukti untuk mengendalikan jumlah sambungan yang sangat tinggi bermakna ia sesuai untuk penggunaan sebagai proksi terbalik dan pengimbang beban.
Aplikasi biasa adalah meletakkan nginx antara pelanggan dan pelayan web, di mana ia boleh beroperasi sebagai titik akhir untuk penyulitan SSL dan pemecut web. Operasi yang biasanya akan meningkatkan beban pada pelayan web, seperti penyulitan, pemampatan, dan caching semuanya boleh dilakukan dengan lebih cekap melalui proksi terbalik nginx.
Cara Menyiapkan Nginx Reverse Proxy Langkah demi Langkah
Oleh kerana kami telah menjelaskan bagaimana proksi terbalik berfungsi dan apakah kelebihannya menggunakannya, dalam bahagian ini, kami akan meneruskan langkah -langkah yang diperlukan untuk menubuhkan proksi terbalik nginx.
- Pasang nginxyou boleh memasang nginx dengan pengurus pakej sistem anda. Mengenai pengedaran Ubuntu dan Debian, perintahnya adalah:
$ sudo apt-get pemasangan nginx
Pada centos dan pengagihan topi merah:
# yum pasang nginx
- Lumpuhkan hos maya lalai
# unlink/etc/nginx/sites-enabled/lalai
- Buat Fileall konfigurasi proksi terbalik dari tetapan untuk proksi terbalik akan masuk ke dalam fail konfigurasi, dan fail ini perlu diletakkan di dalam direktori yang tersedia. Mulakan dengan menavigasi ke direktori berikut:
# cd/etc/nginx/tapak yang tersedia
Kemudian gunakan VI atau editor teks pilihan anda untuk membuat fail konfigurasi:
# VI Reverse-Proxy.Conf
Tampalkan templat konfigurasi berikut ke dalam fail yang baru dibuat ini:
Salinanpelayan mendengar 80; lokasi/beberapa/path/proxy_pass http: // contoh.com;
Menggantikan
Contoh.com
dengan alamat IP atau nama hos pelayan yang anda hantar ke. Anda juga boleh menentukan port dengan nama hos, seperti127.0.0.1: 8080
sebagai contoh. Simpan perubahan anda dan kemudian keluar dari editor teks.Perhatikan bahawa ini akan berfungsi untuk pelayan HTTP, tetapi Nginx juga menyokong protokol lain. Kami akan menampung pilihan tersebut di bahagian seterusnya.
- Dayakan proksi dengan tetapan anda disimpan, aktifkan konfigurasi baru dengan membuat pautan simbolik ke direktori yang dibolehkan tapak:
# ln -s/etc/nginx/laman web-tersedia/terbalik-proksi.conf/etc/nginx/sites-enabled/reverse-proxy.Conf
Pelayan bukan HTTP
Contoh di atas menunjukkan cara lulus permintaan ke pelayan http, tetapi juga mungkin untuk nginx bertindak sebagai proksi terbalik untuk Fastcgi, uwsgi, SCGI, dan Memcached. Bukannya menggunakan proxy_pass
Arahan yang ditunjukkan di atas, ganti dengan jenis yang sesuai:
- proxy_pass (pelayan http - seperti yang dilihat di atas)
- fastcgi_pass (pelayan fastcgi)
- uwsgi_pass (pelayan uwsgi)
- scgi_pass (pelayan SCGI)
- memcached_pass (pelayan memcached)
Cara Lulus Tajuk
Untuk mengkonfigurasi apa yang dikatakan pelayan proksi terbalik ke pelayan lain, kami dapat menentukannya dalam fail konfigurasi yang kami buat sebelumnya. Menggunakan proxy_set_header
Arahan untuk menyesuaikan tajuk.
Mereka boleh dikonfigurasi di pelayan, lokasi, atau blok HTTP. Sebagai contoh:
lokasi/some/path/proxy_set_header host $ host; proxy_set_header x-forwarded-proto $ skema; proxy_set_header x-real-ip $ remote_addr; proxy_pass http: // contoh.com;
Salinan Contoh di atas mentakrifkan tiga jenis tajuk dan menetapkannya kepada pembolehubah masing -masing. Terdapat banyak pilihan yang berbeza untuk melepasi tajuk, tetapi contoh ini mempamerkan tiga yang sangat biasa.
The Tuan rumah
Header mengandungi maklumat mengenai tuan rumah yang diminta. The X-Forwarded-Proto
spesies header jika permintaan itu http atau https. Dan juga X-REAL-IP
Header mengandungi alamat IP pelanggan yang meminta.
Cara mengkonfigurasi pengimbangan beban
Pengimbangan beban adalah salah satu justifikasi utama untuk mengkonfigurasi pelayan proksi terbalik. Kita boleh memulakan dengan menambahkan beberapa baris tambahan ke fail konfigurasi yang kami buat sebelumnya. Lihat contoh:
hulu backend_servers pelayan host1.Contoh.com; pelayan host2.Contoh.com; Host Server3.Contoh.com; pelayan Dengar 80; Contoh Server_name.com; lokasi/proxy_pass http: // backend_servers;
Salinan Dalam contoh ini, kami telah menambah konteks yang disebut backend_servers
. Di dalamnya, nama host/IP setiap pelayan ditentukan pada baris berasingan.
Di dalam proxy_pass
Arahan, di mana kami biasanya memasukkan nama hos atau alamat IP, sebaliknya kami telah menetapkan nama konteks hulu yang ditakrifkan di atas: backend_servers
.
Konfigurasi ini akan mengemukakan permintaan masuk ke Contoh.com
kepada tiga tuan rumah yang berbeza yang dinyatakan di hulu kami. Secara lalai, nginx akan mengemukakan permintaan ini pusingan robin, yang bermaksud bahawa setiap tuan rumah mengambil giliran.
Konfigurasikan algoritma mengimbangi beban
Seperti yang disebutkan, bulat Robin adalah algoritma lalai yang akan digunakan oleh Nginx untuk memutar permintaan di hulu. Terdapat beberapa algoritma lain yang tersedia, yang sesuai dengan keadaan tertentu yang lebih baik:
- paling rendah_conn - Mengedarkan sambungan masuk ke pelayan backend berdasarkan bilangan sambungan aktif semasa mereka. Pelayan hanya akan menerima permintaan jika ia mempunyai sedikit sambungan pada masa itu. Ini amat berguna dalam aplikasi yang memerlukan sambungan tahan lama kepada pelanggan.
- ip_hash - Mengedarkan sambungan masuk berdasarkan alamat IP pelanggan. Ini berguna jika anda perlu membuat konsistensi sesi.
- hash - Mengedarkan sambungan masuk berdasarkan kunci hash. Ini membantu dengan tuan rumah memcached, terutamanya.
Tentukan kaedah mengimbangi beban di bahagian atas konteks hulu, seperti itu:
hulu backend_servers paling tidak_conn; Host Server1.Contoh.com; pelayan host2.Contoh.com; Host Server3.Contoh.com;
Salinan Cara menguji konfigurasi nginx
Anda harus selalu menguji konfigurasi anda untuk kesilapan sebaik sahaja mengedit .Conf
fail, dan kemudian mulakan semula nginx.
# perkhidmatan nginx configtest # service nginx mulakan semula
Kesimpulan
Dalam artikel ini kita melihat bagaimana untuk menyediakan pelayan proksi terbalik dengan nginx. Kami juga belajar tentang bagaimana pelayan proksi terbalik berfungsi, dan apakah kelebihannya menggunakannya. Kami meliputi pengimbangan beban dan pelbagai pilihan yang diperlukan oleh pentadbir untuk mengkonfigurasinya dengan proksi terbalik mereka sendiri.
Setelah mengikuti langkah -langkah dalam panduan ini, semoga anda dapat melihat peningkatan prestasi yang signifikan dalam persekitaran web anda, dan lebih mudah untuk mengurus sekarang bahawa sambungan masuk dihantar ke satu titik.
Tutorial Linux Berkaitan:
- Pemasangan tajuk kernel Manjaro Linux
- Perkara yang hendak dipasang di Ubuntu 20.04
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Berapa kerap anda perlu reboot pelayan Linux anda?
- OpenLitespeed sebagai proksi terbalik
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
- Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
- Sistem Hung Linux? Cara melarikan diri ke baris arahan dan ..
- Ubuntu 20.04 Panduan