Kesan akhir adalah serupa (antara muka penyemak imbas berbeza adalah berbeza):
Jika pengesahan gagal, ralat http akan dilaporkan: 401 kebenaran diperlukan.
Untuk mencapai fungsi ini, anda perlu menukar konfigurasi pelayan dan menetapkan nama pengguna dan kata laluan untuk log masuk.
Mula-mula kita perlu menukar konfigurasi pelayan nginx tapak web Untuk pelayan Ubuntu, fail konfigurasi ini biasanya terletak di /etc/nginx/sites-enabled/ /sites-enabled/ di sini secara lalai untuk memberikan contoh:
Salin kod Kod adalah seperti berikut:
server {
server_name www.fancycedar.info
root /www/fancycedar
# ...
lokasi / {
# Tambahkan dua baris berikut
auth_basic "restricted";
auth_basic_user_file htpasswd;
# . ..
}
# ...
}
Seterusnya anda perlu mencipta fail htpasswd Berikut ialah beberapa butiran yang perlu diberi perhatian:
Laluan daripada htpasswd
berada pada tahap yang sama dengan Direktori nginx.conf sudah memadai. Untuk pelayan Ubuntu, ia biasanya di bawah /etc/nginx/.
Kandungan htpasswd
Setiap baris mewakili pengguna, dalam format nama pengguna:kata laluan. Tetapi sila ambil perhatian bahawa kata laluan di sini bukan teks biasa, tetapi rentetan yang disulitkan oleh crypt(3).
Anda boleh menggunakan sekeping kod php untuk menjana kata laluan dalam htpasswd:
Salin kod Kod adalah seperti berikut:
//Teks biasa kata laluan
$password = 'some password' ;
//Encrypt the password
$password = crypt($password, base64_encode($password));
//Dapatkan kata laluan yang disulitkan
echo $password;
Kemudian tulis rentetan ke dalam fail htpasswd:
Salin kod Kod adalah seperti berikut:
username1:xucqmk13tfooe
username2:yxtfb
...
Kebenaran htpasswd
Anda perlu menukar kebenaran fail htpasswd, laksanakan arahan berikut:
Salin kod Kod adalah seperti berikut:
sudo chown root:www-data htpasswd
sudo chmod 640 htpasswd
adakah anda bersedia?
Apabila persediaan di atas selesai, kami boleh memuat semula atau memulakan semula pelayan nginx:
Salin kod Kod adalah seperti berikut:
sudo /etc/init.d/nginx reload
# atau
sudo /etc/init.d/nginx mulakan semula
Atas ialah kandungan terperinci Cara menggunakan htpasswd untuk melindungi kata laluan laman web dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!