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
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
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;
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; }
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
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) ...
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!