Rumah Operasi dan penyelenggaraan Nginx Konfigurasi ACL berdasarkan kaedah permintaan dan pengepala permintaan dalam proksi terbalik Nginx

Konfigurasi ACL berdasarkan kaedah permintaan dan pengepala permintaan dalam proksi terbalik Nginx

Jun 11, 2023 pm 08:20 PM
nginx acl proksi terbalik

Nginx ialah pelayan web yang ringan dan cekap yang semakin digunakan dalam membina aplikasi web moden. Fungsi proksi terbaliknya membolehkan Nginx digunakan untuk pengimbangan beban, caching, gerbang API sumber terbuka dan tujuan lain. Artikel ini akan menumpukan pada konfigurasi ACL (Senarai Kawalan Akses) berdasarkan kaedah permintaan dan pengepala permintaan.

ACL ialah mekanisme yang digunakan untuk mengawal akses dan digunakan secara meluas dalam Nginx. Melalui ACL, Nginx boleh menapis dan mengesahkan permintaan dan kemudian mengedarkannya ke pelayan sasaran. Mekanisme ACL terutamanya terdiri daripada tiga bahagian: pembolehubah, pengendali dan nilai.

Pembolehubah ialah beberapa maklumat dalam permintaan, seperti pengepala permintaan, kaedah permintaan, parameter permintaan, dsb. Nginx boleh menyemak nilai pembolehubah ini untuk menentukan sama ada untuk menghantar permintaan ke pelayan. Nilai merujuk kepada data yang dibandingkan dengan pembolehubah. Operator menentukan cara pembolehubah dan nilai dibandingkan.

Nginx menyokong konfigurasi ACL berdasarkan kaedah permintaan dan pengepala permintaan. Anda mungkin mahu menggunakan konfigurasi ini dalam situasi berikut:

  1. Anda ingin menapis permintaan berdasarkan jenis kaedah permintaan, seperti GET, POST, DELETE, dsb.
  2. Anda mahu menapis permintaan berdasarkan pengepala permintaan seperti Keizinan, Jenis Kandungan, dsb. Ini mungkin biasa digunakan dalam get laluan API untuk menyemak kebenaran pelanggan dan mengekalkan keselamatan yang diperlukan untuk aplikasi.

Mengkonfigurasi ACL berdasarkan kaedah permintaan

Mengkonfigurasi ACL berdasarkan kaedah permintaan adalah sangat mudah. Anda perlu menggunakan pembolehubah $request_method, tentukan operator untuk menyemak nilai pembolehubah ini, dan kemudian nyatakan senarai kaedah permintaan yang dibenarkan. Berikut ialah contoh:

location /api {
  if ($request_method !~ ^(GET|POST|PUT)$ ) {
    return 405;
  }
  proxy_pass http://localhost:8080;
}
Salin selepas log masuk

Konfigurasi ini bermakna jika kaedah permintaan bukan GET, POST atau PUT, status HTTP 405 ("Kaedah Tidak Dibenarkan") dikembalikan. Jika kaedah permintaan selain GET, POST atau PUT dipadankan di sini, Nginx tidak akan menghantarnya ke pelayan proksi.

Konfigurasi ACL berdasarkan pengepala permintaan

Konfigurasi ACL berdasarkan pengepala permintaan adalah serupa dengan konfigurasi berdasarkan kaedah permintaan. Anda boleh mendapatkan maklumat pengepala dalam permintaan dengan menggunakan pembolehubah $http_ ditambah dengan nama pengepala permintaan. Anda kemudiannya boleh menggunakan operator untuk menyemak nilai pengepala menggunakan kaedah yang serupa dengan pendekatan berasaskan permintaan. Contohnya:

location /api {
  if ($http_authorization !~* "Bearer [a-zA-Z0-9]+" ) {
    return 401;
  }
  proxy_pass http://localhost:8080;
}
Salin selepas log masuk

Dalam konfigurasi di atas, jika pengepala permintaan Keizinan tidak mengandungi teg keizinan bermula dengan Pembawa, status HTTP 401 ("Tidak Diizinkan") akan dikembalikan. Oleh itu, Nginx tidak akan menghantar sebarang permintaan kepada pelayan proksi kecuali untuk pengepala kebenaran yang betul.

Ringkasan

Fungsi ACL Nginx boleh digunakan untuk melaksanakan banyak logik berkaitan permintaan. Konfigurasi ACL berdasarkan kaedah permintaan dan pengepala permintaan ialah kaedah yang berkesan untuk melaksanakan kawalan akses dalam senario tertentu. Selain itu, anda boleh menggabungkannya dengan ciri Nginx yang lain, seperti pengelogan dan pengehadan kadar, untuk meningkatkan keselamatan dan prestasi aplikasi web anda.

Atas ialah kandungan terperinci Konfigurasi ACL berdasarkan kaedah permintaan dan pengepala permintaan dalam proksi terbalik Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara mengkonfigurasi nama domain pelayan awan di nginx Cara mengkonfigurasi nama domain pelayan awan di nginx Apr 14, 2025 pm 12:18 PM

Cara mengkonfigurasi nama domain Nginx pada pelayan awan: Buat rekod yang menunjuk ke alamat IP awam pelayan awan. Tambah blok hos maya dalam fail konfigurasi Nginx, menyatakan port pendengaran, nama domain, dan direktori akar laman web. Mulakan semula nginx untuk memohon perubahan. Akses konfigurasi ujian nama domain. Nota Lain: Pasang sijil SSL untuk membolehkan HTTPS, pastikan firewall membenarkan trafik port 80, dan tunggu resolusi DNS berkuatkuasa.

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

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.

Cara memeriksa versi nginx Cara memeriksa versi nginx Apr 14, 2025 am 11:57 AM

Kaedah yang boleh menanyakan versi nginx adalah: gunakan perintah nginx -v; Lihat arahan versi dalam fail nginx.conf; Buka halaman ralat Nginx dan lihat tajuk halaman.

Cara membuat cermin di Docker Cara membuat cermin di Docker Apr 15, 2025 am 11:27 AM

Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

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

Bagaimana untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

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.

Cara memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

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.

Cara menjalankan Nginx Apache Cara menjalankan Nginx Apache Apr 14, 2025 pm 12:33 PM

Untuk mendapatkan Nginx untuk menjalankan Apache, anda perlu: 1. Pasang Nginx dan Apache; 2. Konfigurasikan ejen Nginx; 3. Mula Nginx dan Apache; 4. Uji konfigurasi untuk memastikan bahawa anda dapat melihat kandungan Apache selepas mengakses nama domain. Di samping itu, anda perlu memberi perhatian kepada perkara -perkara lain seperti padanan nombor port, konfigurasi tuan rumah maya, dan tetapan SSL/TLS.

See all articles