Установка Reverse Proxy Nginx+Apache2+SSL от Let's Encrypt за 30 минут на Debian 9
Isi kandungan:
- Prasyarat
- Menggunakan Nginx sebagai Proxy Reverse
- Meluluskan Pengepala Permintaan
- Mengkonfigurasi Nginx sebagai Proksi Balik kepada pelayan proksi yang tidak HTTP
- Opsyen Proksi Reverse Nginx Biasa
- Kesimpulannya
Proksi terbalik adalah perkhidmatan yang mengambil permintaan klien, menghantar permintaan kepada satu atau lebih pelayan proksi, mengambil respons, dan menyampaikan tindak balas pelayan kepada klien.
Kerana prestasi dan skalabilitasnya, NGINX sering digunakan sebagai proksi terbalik untuk pelayan HTTP dan bukan HTTP. Konfigurasi proksi terbalik tipikal adalah untuk meletakkan Nginx di depan Node.js, Python, atau aplikasi Java.
Menggunakan Nginx sebagai proksi terbalik memberi anda beberapa faedah tambahan:
- Load Balancing - Nginx boleh melakukan pengimbangan beban untuk mengedarkan permintaan pelanggan di seluruh pelayan proksi, yang meningkatkan prestasi, skalabilitas, dan kebolehpercayaan. Caching - Dengan Nginx sebagai proksi terbalik, anda boleh cache versi pra-diberikan halaman untuk mempercepatkan masa beban halaman. Ia berfungsi dengan memalsukan kandungan yang diterima daripada respons pelayan proksi dan menggunakannya untuk bertindak balas kepada pelanggan tanpa perlu menghubungi pelayan yang proksi untuk kandungan yang sama setiap kali. Penamatan SSL - Nginx boleh bertindak sebagai titik akhir SSL untuk sambungan dengan pelanggan. Ia akan mengendalikan dan menyahsulit sambungan SSL masuk dan menyulitkan respons server proksi. Mampatan - Sekiranya pelayan proksi tidak menghantar respons termampat, anda boleh mengkonfigurasi Nginx untuk memampatkan tindak balas sebelum menghantarnya kepada klien. Mengurangkan Serangan DDoS - Anda boleh mengehadkan permintaan masuk dan bilangan sambungan setiap alamat IP tunggal ke nilai yang biasa untuk pengguna biasa. Nginx juga membolehkan anda menyekat atau menyekat akses berdasarkan lokasi klien, dan nilai tajuk permintaan seperti "User-Agent" dan "Referer".
Artikel ini menggariskan langkah-langkah yang diperlukan untuk mengkonfigurasi Nginx sebagai proksi terbalik.
Prasyarat
Kami menganggap bahawa anda mempunyai Nginx dipasang pada pelayan Ubuntu, CentOS, atau Debian anda.
Menggunakan Nginx sebagai Proxy Reverse
Untuk mengkonfigurasi Nginx sebagai proksi terbalik kepada pelayan HTTP, buka fail konfigurasi blok pelayan domain dan tentukan lokasi dan pelayan proksi di dalamnya:
server { listen 80; server_name www.example.com example.com; location /app { proxy_pass http://127.0.0.1:8080; } }
URL pelayan proksi disusun menggunakan arahan
proxy_pass
dan boleh menggunakan
HTTP
atau
HTTPS
sebagai protokol, nama domain atau alamat IP, dan sebuah port pilihan dan URI sebagai alamat.
Konfigurasi di atas memberitahu Nginx untuk meluluskan semua permintaan ke lokasi
/app
kepada pelayan proksi pada
http://127.0.0.1:8080
.
/etc/nginx/sites-available
, sedangkan pada CentOS dalam direktori
/etc/nginx/conf.d
.
Untuk lebih menggambarkan bagaimana arahan dan arahan
proxy_pass
berfungsi, mari kita ambil contoh berikut:
server { listen 80; server_name www.example.com example.com; location /blog { proxy_pass http://node1.com:8000/wordpress/; } }
Jika akses pelawat
http://example.com/blog/my-post
, Nginx akan proksi permintaan ini ke
http://node1.com:8000/wordpress/my-post
.
Apabila alamat pelayan proksi mengandungi URI, (
/wordpress/
), permintaan URI yang dihantar ke pelayan proksi akan digantikan oleh URI yang ditentukan dalam arahan tersebut. Sekiranya alamat pelayan proksi ditentukan tanpa URI, URI permintaan penuh diserahkan kepada pelayan proksi.
Meluluskan Pengepala Permintaan
Apabila permintaan Nginx proksi, ia secara automatik mentakrifkan dua bidang pengepala dalam permintaan proksi dari klien,
Host
dan
Connection
, dan mengalih keluar tajuk kosong.
Host
ditetapkan kepada pembolehubah
$proxy_host
, dan
Connection
ditetapkan untuk ditutup.
Untuk menyesuaikan atau menetapkan tajuk untuk sambungan proksi, gunakan arahan
proxy_set_header
, diikuti dengan nilai pengepala. Anda boleh mencari senarai semua Permintaan Permintaan yang tersedia dan nilai yang dibenarkan di sini. Jika anda ingin menghalang tajuk daripada dihantar ke pelayan proksi, tetapkannya kepada rentetan kosong
""
.
Dalam contoh berikut, kita mengubah nilai bidang pengepala
Host
ke
$host
dan mengeluarkan bidang pengepala
Accept-Encoding
dengan menetapkan nilainya kepada rentetan kosong.
location / { proxy_set_header Host $host; proxy_set_header Accept-Encoding ""; proxy_pass http://localhost:3000; }
Apabila anda mengubah suai fail konfigurasi, anda perlu memulakan semula perkhidmatan Nginx untuk perubahan yang akan dilaksanakan.
Mengkonfigurasi Nginx sebagai Proksi Balik kepada pelayan proksi yang tidak HTTP
Untuk mengkonfigurasi Nginx sebagai proksi terbalik kepada pelayan proksi yang tidak HTTP, anda boleh menggunakan arahan berikut:
-
fastcgi_pass
- proksi terbalik kepada pelayan FastCGI.uwsgi_pass
- membalikkan proksi ke server uwsgi.scgi_pass
- proksi terbalik kepada pelayan SCGI.memcached_pass
- proksi terbalik ke pelayan Memcached.
Salah satu contoh yang paling biasa ialah menggunakan Nginx sebagai proksi terbalik kepada PHP-FPM:
server { #… other directives location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.2-fpm.sock; } }
Opsyen Proksi Reverse Nginx Biasa
Melayan kandungan melalui HTTPS telah menjadi standard pada masa kini. Dalam bahagian ini, kami akan memberi anda contoh konfigurasi proksi terbalik HTTPS HTTPS termasuk parameter dan pengepala proksi Nginx yang disyorkan.
location/ { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_cache_bypass $http_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; }
-
proxy_http_version 1.1
- Menetapkan versi protokol HTTP untuk proksi, secara lalainya ia ditetapkan kepada 1.0. Untuk sambungan Internet dan sambungankeepalive
anda perlu menggunakan versi 1.1.proxy_cache_bypass $http_upgrade
- Menetapkan syarat di mana respons tidak akan diambil dari cache.Upgrade $http_upgrade
danConnection "upgrade"
- Medan header ini diperlukan jika aplikasi anda menggunakan Websockets.Host $host
- Pembolehubah$host
dalam urutan terdahulu berikut mengandungi: nama hos dari garis permintaan, atau nama hos dari medan tajuk permintaanHost
, atau nama server yang sepadan dengan permintaan.X-Real-IP $remote_addr
-X-Real-IP $remote_addr
alamat IP jauh pelawat sebenar ke pelayan proksi.X-Forwarded-For $proxy_add_x_forwarded_for
- Senarai yang mengandungi alamat IP setiap pelayan yang klien telah proksinya.X-Forwarded-Proto $scheme
- Apabila digunakan di dalam blok pelayan HTTPS, setiap respons HTTP dari pelayan proksis ditulis semula keX-Forwarded-Host $host
- Menentukan hos asal yang diminta oleh klien.X-Forwarded-Port $server_port
- Menentukan port asal yang diminta oleh pelanggan.
Kesimpulannya
Anda telah belajar cara menggunakan Nginx sebagai Proxy Reverse. Kami juga telah menunjukkan kepada anda bagaimana untuk meluluskan parameter tambahan kepada pelayan dan mengubah suai dan menetapkan medan pengepala yang berlainan dalam permintaan proksi.
nginxSuruhanjaya Eropah menetapkan garis panduan untuk pelaburan awam dalam rangkaian jalur lebar yang sangat pantas tetapi Suruhanjaya Eropah telah menetapkan garis panduan bagaimana kerajaan-kerajaan negara-negara Kesatuan Eropah boleh meningkatkan pembangunan rangkaian jalur lebar yang pantas tanpa melanggar undang-undang Eropah yang direka untuk menyekat bantuan kerajaan.

Ban pada Galaxy Nexus Samsung terbalik oleh mahkamah rayuan AS

Larangan import dari Galaxy Nexus Samsung ke Amerika Syarikat telah diterbalikkan oleh rayuan AS Mahkamah Rayuan AS untuk Litar Persekutuan membatalkan keputusan yang dibuat oleh Hakim Lucy Koh di Daerah AS pada hari Selasa.
Konfigurasi odoo dengan nginx sebagai proksi terbalik

Odoo datang dengan pelayan web terbina dalam, tetapi dalam kebanyakan kes adalah disyorkan untuk mempunyai proksi terbalik di hadapannya yang akan bertindak sebagai perantara antara klien dan pelayan Odoo. Panduan ini memberikan arahan bagaimana menggunakan Nginx sebagai proksi terbalik kepada Odoo.