Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Konfigurasi ACL berdasarkan padanan URL dalam proksi terbalik Nginx

Konfigurasi ACL berdasarkan padanan URL dalam proksi terbalik Nginx

王林
王林asal
2023-06-11 09:43:091593semak imbas

Nginx ialah pelayan web sumber terbuka berprestasi tinggi dan pelayan proksi terbalik Kebolehskalaan dan pilihan konfigurasi yang berkuasa menjadikannya salah satu komponen yang sangat diperlukan dalam pembangunan web. Fungsi proksi terbalik Nginx boleh menghantar permintaan daripada klien ke berbilang pelayan belakang untuk mencapai pengimbangan beban dan ketersediaan tinggi.

Dalam proksi terbalik, memandangkan pelayan bahagian belakang mungkin mengendalikan berbilang perkhidmatan, ia perlu memadankan laluan URL permintaan dan memajukan permintaan ke pelayan bahagian belakang yang betul. Nginx menyediakan konfigurasi ACL (Senarai Kawalan Akses) berdasarkan laluan URL, yang boleh menghalakan permintaan ke pelayan bahagian belakang yang sepadan mengikut peraturan URL yang ditentukan.

Artikel ini akan memperkenalkan cara melaksanakan konfigurasi ACL dalam proksi terbalik Nginx berdasarkan padanan laluan URL.

Konfigurasi ACL

ACL ialah mekanisme yang digunakan untuk mengawal kebenaran akses Ia boleh menentukan sama ada permintaan dibenarkan untuk mengakses berdasarkan peraturan tertentu. Dalam Nginx, anda boleh menggunakan arahan location untuk mengkonfigurasi peraturan ACL. Sintaks arahan location adalah seperti berikut:

location [ = | ~ | ~* | ^~ ] uri { ... }

Parameter uri boleh menjadi laluan URI biasa atau ungkapan biasa. Apabila menggunakan laluan URI sebagai peraturan ACL, anda boleh menggunakan aksara padanan berikut:

  • =: Padanan tepat Hanya apabila laluan URI betul-betul sama dengan nilai dalam arahan lokasi, the perlawanan akan berjaya.
  • ~: Padanan ungkapan biasa, sensitif huruf besar-besaran.
  • ~*: Padanan ungkapan biasa, tidak peka huruf besar-besaran.
  • ^~: Pemadanan awalan, jika laluan URI bermula dengan nilai dalam arahan lokasi, padanan itu berjaya.

Contoh Demonstrasi

Andaikan terdapat tiga perkhidmatan yang perlu diseimbangkan dalam proksi terbalik Nginx. Laluan URI mereka ialah:

  • / app1
  • /app2
  • /app3

Kami perlu memajukan permintaan kepada tiga pelayan bahagian belakang, alamat IP mereka ialah:

  • 192.168.0.1
  • 192.168.0.2
  • 192.168.0.3

Kami boleh menggunakan fail konfigurasi Nginx berikut untuk melaksanakan fungsi proksi terbalik:

🎜>Dalam fail konfigurasi di atas, kami menggunakan arahan

untuk mentakrifkan tiga pelayan bahagian belakang, dan kemudian menggunakan arahan upstream dalam blok server untuk mengkonfigurasi tiga peraturan proksi terbalik masing-masing. Apabila laluan URI permintaan ialah location, /app1, /app2, Nginx akan memajukan permintaan ke pelayan bahagian belakang yang sepadan untuk mencapai pengimbangan beban dan ketersediaan tinggi. /app3

Padanan laluan URL

Jika laluan URI kami rumit dan perlu dipadankan mengikut peraturan tertentu, ungkapan biasa boleh digunakan untuk mencapai padanan laluan URL.

Andaikan terdapat dua perkhidmatan yang perlu diseimbangkan dalam proksi terbalik Nginx. Laluan URI mereka ialah:

    /api/v1/app1
  • /. api/v2/app2
Kami perlu memajukan permintaan kepada dua pelayan bahagian belakang, alamat IP mereka ialah:

    192.168.0.1
  • 192.168. 0.2
Kami boleh menggunakan fail konfigurasi Nginx berikut untuk melaksanakan konfigurasi ACL berdasarkan laluan URL:

http {
    upstream myapp1 {
        server 192.168.0.1;
    }

    upstream myapp2 {
        server 192.168.0.2;
    }

    upstream myapp3 {
        server 192.168.0.3;
    }

    server {
        listen 80;
        server_name myserver.com;

        location /app1 {
            proxy_pass http://myapp1;
        }

        location /app2 {
            proxy_pass http://myapp2;
        }

        location /app3 {
            proxy_pass http://myapp3;
        }
    }
}

Dalam fail konfigurasi di atas, kami menggunakan arahan

The regular expression fungsi pemadanan sepadan dengan laluan permintaan ke pelayan hujung belakang yang sepadan. location

  • : Padanan ungkapan biasa, sensitif huruf besar. ~
  • : simbol permulaan ungkapan biasa, "^/api" bermaksud laluan permintaan bermula dengan /api. ^
  • menunjukkan bahawa laluan permintaan berakhir dengan /v1/app1. /v1/app1
Dengan cara ini, kami boleh memadankan berdasarkan laluan URL yang kompleks untuk mencapai kawalan proksi terbalik dan fungsi pemajuan yang lebih terperinci.

Ringkasan

Artikel ini memperkenalkan kaedah konfigurasi ACL berdasarkan padanan URL dalam proksi terbalik Nginx Melalui arahan

dan laluan URI atau ungkapan biasa, laluan permintaan padanan dan pemadanan boleh dicapai Ke hadapan. Kaedah konfigurasi ACL ini boleh mencapai pengimbangan beban dan ketersediaan tinggi untuk berbilang pelayan bahagian belakang dan memenuhi keperluan proksi terbalik dalam senario yang berbeza. location

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

Kenyataan:
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