Rumah Operasi dan penyelenggaraan Nginx Cara Nginx melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan

Cara Nginx melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan

Nov 08, 2023 am 09:06 AM
kawalan capaian konfigurasi nginx Pengesahan nama domain

Cara Nginx melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan

Cara Nginx melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan memerlukan contoh kod khusus

Nginx ialah perisian pelayan web berprestasi tinggi , ia bukan sahaja boleh berfungsi sebagai pelayan fail statik, tetapi juga boleh mencapai kawalan capaian yang fleksibel melalui konfigurasi. Artikel ini akan memperkenalkan cara melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan melalui Nginx, dan memberikan contoh kod khusus.

Fail konfigurasi Nginx biasanya terletak di /etc/nginx/nginx.conf, dan kami boleh menambah konfigurasi yang berkaitan pada fail ini. Berikut ialah contoh fail konfigurasi Nginx asas:

http {
    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://localhost:8000;
        }
    }
}
Salin selepas log masuk

Dalam contoh di atas, kami mendengar pada port 80 dan memajukan semua permintaan ke port tempatan 8000. Arahan nama_server digunakan dalam konfigurasi ini untuk menentukan nama domain yang menerima permintaan. Secara lalai, Nginx akan menerima permintaan daripada semua nama domain. Jika anda ingin melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan, anda boleh menggunakan arahan if digabungkan dengan $request_header untuk mencapai ini.

Berikut ialah contoh:

http {
    server {
        listen 80;

        if ($http_host ~* "^(www.)?example.com$") {
            location / {
                proxy_pass http://localhost:8000;
            }
        }

        if ($http_host ~* "^(www.)?example2.com$") {
            return 403;
        }
    }
}
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan dua arahan if untuk melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan. Dalam blok if pertama, kami menggunakan pembolehubah $http_host untuk memadankan nama domain example.com dan memajukan permintaan ke port tempatan 8000. Dalam blok if kedua, kami juga menggunakan pembolehubah $http_host untuk memadankan nama domain example2.com dan mengembalikan ralat 403.

Perlu diingatkan bahawa menggunakan arahan if dalam Nginx akan menyebabkan kehilangan prestasi. Jika boleh, adalah disyorkan untuk menggunakan ungkapan biasa untuk padanan nama domain dan menggunakan arahan lokasi untuk mencapai konfigurasi yang lebih cekap.

Selain menggunakan arahan if, Nginx juga menyediakan banyak arahan dan modul lain untuk melaksanakan konfigurasi kawalan akses yang lebih kompleks, seperti modul ngx_http_access_module, modul ngx_http_auth_basic_module, dsb. Anda boleh memilih kaedah konfigurasi yang sesuai mengikut keperluan sebenar.

Ringkasnya, konfigurasi kawalan akses berdasarkan nama domain sumber permintaan boleh dilaksanakan melalui Nginx. Dengan menggunakan arahan if dalam kombinasi dengan pembolehubah $http_host dalam fail konfigurasi, pertimbangan bersyarat boleh dibuat berdasarkan nama domain yang diminta, dengan itu mencapai kawalan akses yang fleksibel. Sudah tentu, untuk memastikan prestasi, adalah disyorkan untuk memilih kaedah konfigurasi yang sesuai dan menggabungkannya dengan modul lain untuk mencapai keperluan kawalan yang lebih kompleks.

Atas ialah kandungan terperinci Cara Nginx melaksanakan konfigurasi kawalan akses berdasarkan nama domain sumber permintaan. 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

Tag artikel 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 menggunakan Vue untuk pengurusan kebenaran dan kawalan akses Cara menggunakan Vue untuk pengurusan kebenaran dan kawalan akses Aug 02, 2023 pm 09:01 PM

Cara menggunakan Vue untuk pengurusan kebenaran dan kawalan akses

Konfigurasi halaman ralat Nginx, cantikkan gesaan kegagalan laman web Konfigurasi halaman ralat Nginx, cantikkan gesaan kegagalan laman web Jul 04, 2023 pm 01:33 PM

Konfigurasi halaman ralat Nginx, cantikkan gesaan kegagalan laman web

Gunakan bahasa Go untuk menyelesaikan masalah kawalan akses berskala besar Gunakan bahasa Go untuk menyelesaikan masalah kawalan akses berskala besar Jun 15, 2023 pm 02:59 PM

Gunakan bahasa Go untuk menyelesaikan masalah kawalan akses berskala besar

Bagaimana untuk melaksanakan konfigurasi perkongsian sumber silang domain (CORS) Nginx Bagaimana untuk melaksanakan konfigurasi perkongsian sumber silang domain (CORS) Nginx Nov 08, 2023 pm 12:22 PM

Bagaimana untuk melaksanakan konfigurasi perkongsian sumber silang domain (CORS) Nginx

Bagaimanakah PHP mengendalikan permintaan merentas domain dan kawalan akses? Bagaimanakah PHP mengendalikan permintaan merentas domain dan kawalan akses? Jun 30, 2023 pm 11:04 PM

Bagaimanakah PHP mengendalikan permintaan merentas domain dan kawalan akses?

Bagaimana Nginx melaksanakan konfigurasi kawalan akses berdasarkan IP sumber permintaan Bagaimana Nginx melaksanakan konfigurasi kawalan akses berdasarkan IP sumber permintaan Nov 08, 2023 am 10:09 AM

Bagaimana Nginx melaksanakan konfigurasi kawalan akses berdasarkan IP sumber permintaan

Bagaimana untuk mengesahkan nama domain alamat e-mel menggunakan ungkapan biasa dalam golang Bagaimana untuk mengesahkan nama domain alamat e-mel menggunakan ungkapan biasa dalam golang Jun 24, 2023 am 08:12 AM

Bagaimana untuk mengesahkan nama domain alamat e-mel menggunakan ungkapan biasa dalam golang

Pengurusan konfigurasi keselamatan dan dasar kawalan akses dalam Java Pengurusan konfigurasi keselamatan dan dasar kawalan akses dalam Java Aug 07, 2023 am 11:01 AM

Pengurusan konfigurasi keselamatan dan dasar kawalan akses dalam Java

See all articles