


Konfigurasi ACL berdasarkan kata kunci dan senarai hitam dalam proksi terbalik Nginx
Dengan kemajuan pesat pembangunan rangkaian, bilangan aplikasi dan perkhidmatan yang digunakan semakin meningkat. Dalam sesetengah senario, permintaan perlu dihalakan ke pelayan atau aplikasi tertentu. Nginx ialah pelayan web berprestasi tinggi dan kaedah proksi terbalik yang biasa digunakan yang boleh menyelesaikan masalah ini. Berdasarkan modul ACL yang disediakan oleh proksi terbalik Nginx, pentadbir boleh mengawal dan mengurus penghalaan permintaan, kawalan akses dan isu keselamatan rangkaian yang lain secara fleksibel.
Dalam proksi terbalik, permintaan dihantar daripada klien ke pelayan proksi terbalik, dan pelayan proksi menghantar permintaan ke pelayan belakang bagi pihak klien dan memberikan hasil pulangan kepada klien . Sebagai contoh, dalam aplikasi web moden dengan pelbagai bahasa dan susunan teknologi, proksi terbalik Nginx boleh digunakan untuk menghalakan permintaan yang berbeza ke perkhidmatan back-end yang berbeza melalui nama domain yang sama.
Dalam artikel ini, kita akan mempelajari cara mengkonfigurasi ACL berdasarkan kata kunci dan senarai hitam untuk melaksanakan dasar penghalaan yang lebih terperinci dan kawalan keselamatan untuk proksi songsang Nginx.
ACL Kata Kunci
ACL Kata Kunci ialah cara untuk melaksanakan penghalaan permintaan dengan memadankan kata kunci dalam URL permintaan. Contohnya, dalam aplikasi semasa, apabila URL yang diminta mengandungi "/app1/", kami mahu proksi terbalik Nginx mengarahkan permintaan ke aplikasi belakang 1. Jika URL mengandungi "/app2/", permintaan dihalakan ke aplikasi hujung belakang 2.
Untuk melaksanakan fungsi ini, anda perlu mengkonfigurasi kata kunci ACL dalam fail konfigurasi Nginx. Begini cara untuk mengkonfigurasinya:
http { ... # 关键词acl map $request_uri $app_name { ~* "/app1/" app1; ~* "/app2/" app2; default ""; } }
Dalam konfigurasi ini, $request_uri ialah pembolehubah terbina dalam Nginx, mewakili URL yang diminta. Nilai pembolehubah ini dihantar kepada arahan peta, yang sepadan dengan ungkapan biasa kata kunci yang dipratentukan. Jika padanan berjaya, nama aplikasi disimpan dalam pembolehubah $app_name, jika tidak, nilai lalai digunakan.
Seterusnya, anda boleh menghantar pembolehubah $app_name yang ditakrifkan di atas sebagai sasaran proksi kepada pilihan URL proksi dalam arahan proksi:
server { ... location / { ... # 配置关键词代理 proxy_pass http://$app_name.backend.com; } }
Dalam konfigurasi ini, kata kunci ACL akan diminta dari Nama aplikasi yang diminta dipadankan dalam URL, dan permintaan pelanggan dihalakan ke aplikasi back-end yang sepadan melalui arahan proksi.
ACL berasaskan senarai hitam
ACL Senarai Hitam ialah kaedah yang digunakan untuk menyekat akses daripada IP tertentu atau URL yang diminta. Pendekatan ini sangat berguna dalam beberapa situasi. Sebagai contoh, sekiranya berlaku serangan berniat jahat, pentadbir boleh mengkonfigurasi senarai hitam ACL dalam proksi terbalik Nginx untuk menafikan akses kepada sekumpulan alamat IP. Anda juga boleh menggunakan ACL senarai hitam untuk menafikan URL serangan biasa tertentu.
Begini cara mengkonfigurasi ACL berasaskan senarai hitam:
http { ... # 黑名单acl geo $blocked_ip { default 0; include /path/to/blacklists/ip.txt; } }
Dalam konfigurasi ini, arahan geo mentakrifkan pembolehubah memori bernama $blocked_ip, yang digunakan untuk menyimpan senarai alamat IP yang disekat. Dalam contoh ini, fail senarai hitam alamat IP luaran digunakan. Format fail adalah seperti berikut:
10.2.1.10 1; 192.168.0.0/24 1; 202.102.85.154 1;
Setiap baris fail mengandungi alamat IP atau segmen rangkaian dalam format CIDR, diikuti dengan nombor 1 untuk menunjukkan bahawa alamat IP atau segmen rangkaian CIDR ini disekat.
Seterusnya, anda boleh menggunakan ACL senarai hitam ini dalam konfigurasi Nginx:
server { ... location / { ... # 配置黑名单ACL if ($blocked_ip) { return 403; } proxy_pass http://backend.com; } }
Dalam konfigurasi ini, arahan if digunakan untuk menentukan sama ada alamat IP yang diminta berada dalam senarai hitam Jika ya 403 Maklum balas terlarang akan dikembalikan secara langsung. Jika tidak, permintaan akan dihalakan ke pelayan proksi bahagian belakang.
Ringkasnya, proksi terbalik Nginx menyediakan modul ACL yang baik, yang boleh digunakan bersama modul berfungsi lain untuk mencapai penghalaan permintaan dan kawalan akses yang sangat fleksibel. Dalam penggunaan proksi terbalik, memahami dan menguasai kaedah ini boleh membolehkan kami menyesuaikan diri dengan lebih baik kepada pelbagai situasi dan meningkatkan kualiti dan keselamatan perkhidmatan rangkaian.
Atas ialah kandungan terperinci Konfigurasi ACL berdasarkan kata kunci dan senarai hitam dalam proksi terbalik Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.
