Cara menggunakan Nginx untuk melaksanakan pengesahan asas HTTP

WBOY
Lepaskan: 2023-06-10 10:36:14
asal
2425 orang telah melayarinya

Nginx ialah pelayan web berprestasi tinggi, boleh dipercayai dan pelayan proksi terbalik. Di samping keupayaan pengimbangan beban dan caching yang berkuasa, Nginx juga menyokong pengesahan asas HTTP. Pengesahan asas HTTP ialah kaedah pengesahan mudah yang mengesahkan identiti pengguna dengan menambahkan nama pengguna dan kata laluan dalam pengepala permintaan. Dalam artikel ini, kita akan belajar cara melaksanakan pengesahan asas HTTP menggunakan Nginx.

1. Tetapkan nama pengguna dan kata laluan

Pertama, kita perlu mencipta fail kata laluan. Kita boleh menggunakan arahan htpasswd untuk mencipta fail ini. htpasswd ialah alat baris arahan untuk mengurus kata laluan pengesahan asas HTTP.

Kita boleh menggunakan arahan berikut dalam terminal untuk mencipta fail kata laluan:

htpasswd -c /etc/nginx/.htpasswd username
Salin selepas log masuk

Antaranya, -c bermaksud mencipta fail kata laluan baharu, /etc/nginx/.htpasswd ialah laluan ke fail kata laluan , nama pengguna ialah nama pengguna yang ingin kami tambahkan. Selepas menjalankan arahan ini, anda akan diminta untuk kata laluan anda. Selepas memasukkan kata laluan, htpasswd akan mencincang kata laluan dan menyimpannya dalam fail kata laluan.

Jika anda ingin menambah pengguna tambahan pada fail kata laluan, gunakan arahan berikut:

htpasswd /etc/nginx/.htpasswd username2
Salin selepas log masuk

Arahan ini tidak mempunyai pilihan -c kerana fail kata laluan kami sudah wujud. Selepas memasukkan arahan, anda akan diminta untuk kata laluan anda. Setelah dimasukkan, htpasswd mencincang dan menambah nama pengguna dan kata laluan pada fail kata laluan.

2. Gunakan pengesahan asas dalam Nginx

Sekarang, kami telah mencipta fail kata laluan yang mengandungi cincang nama pengguna dan kata laluan. Seterusnya, kita perlu menggunakan pengesahan asas HTTP dalam Nginx.

Kami perlu menambah arahan berikut dalam blok pelayan atau blok lokasi:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
Salin selepas log masuk

Arahan pertama memberitahu Nginx untuk melakukan pengesahan asas pada permintaan dan memaparkan "Terhad" dalam pop timbul kotak log masuk sebagai maklumat Deskriptif.

Arahan kedua memberitahu Nginx untuk menggunakan fail /usr/share/nginx/.htpasswd untuk mengesahkan pengguna.

Sebagai contoh, kami boleh menambah kod berikut dalam blok pelayan lalai Nginx:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
Salin selepas log masuk

Kini, kami telah berjaya menambah pengesahan asas pada pelayan Nginx kami.

3. Uji pengesahan asas HTTP

Sekarang mari kita uji fungsi pengesahan yang baru kami sediakan. Kami boleh menggunakan curl atau Firefox dan alatan lain untuk menguji.

Uji menggunakan curl:

curl -I http://localhost
Salin selepas log masuk

Baris arahan akan menggesa anda untuk nama pengguna dan kata laluan anda. Selepas memasukkan nama pengguna dan kata laluan yang betul, anda boleh melihat kod berikut disertakan dalam pengepala respons HTTP:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
...
Salin selepas log masuk

Uji dengan Firefox:

Masukkan alamat pelayan http://localhost dalam Firefox. Firefox akan muncul tetingkap dengan perkataan "Terhad" dan penerangan, menggesa anda untuk memasukkan nama pengguna dan kata laluan anda. Selepas memasukkan nama pengguna dan kata laluan yang betul, anda akan dialihkan ke halaman web lalai pelayan anda.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Nginx untuk melaksanakan pengesahan asas HTTP. Pengesahan Asas HTTP ialah kaedah pengesahan yang mudah tetapi berkesan yang boleh digunakan untuk melindungi sumber sensitif pelayan web. Kami boleh dengan mudah menambahkan Pengesahan Asas HTTP ke pelayan Nginx kami dengan membuat fail kata laluan menggunakan arahan htpasswd dan kemudian menggunakan arahan Pengesahan Asas dalam konfigurasi Nginx.

Atas ialah kandungan terperinci Cara menggunakan Nginx untuk melaksanakan pengesahan asas HTTP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!