Galbūt niekada nesusimąstėte, kas yra "Auth Basic", bet tikrai susidūrėte su šia sąvoka eidami į savo maršrutizatoriaus nustatymus. Taip vadinamas autorizavimo pagal vartotojo vardą ir slaptažodį mechanizmas žiniatinklio serverio lygmeniu. Tokį autorizavimą palaiko ir "Apache", ir "Nginx". Šioje instrukcijoje siūlome apsvarstyti tokį klausimą, kaip sukonfigūruoti Auth Basic konkrečiam maršrutui arba konkrečiai svetainei.
Taip atrodo "Auth Basic" autorizacijos langas:
Dabar turėtumėte suprasti, apie ką ši instrukcija. Galima sukonfigūruoti autorizaciją konkrečiam URL, visai svetainei arba visoms svetainėms. Tačiau pirmiausia reikia sukurti failą su naudotojų ir slaptažodžių sąrašu. Šiam tikslui naudosime htpasswd įrankį. Komandos sintaksė yra tokia:
$ sudo htpasswd -c /path/to/file username
Šiuo atveju parinktis -c naudojama naujam failui sukurti, jos nereikia naudoti anksčiau sukurtiems failams redaguoti. Pavyzdžiui:
$ sudo htpasswd -c /etc/nginx/auth.basic admin
Programa pateiks dvigubo slaptažodžio užklausą. Saugumo sumetimais slaptažodis nerodomas, bet įvedamas. Sukūrę tokį failą, galite pereiti tiesiai prie "Nginx" konfigūracijos.
Norėdami apsaugoti slaptažodžiu visus išteklius, į /etc/nginx/nginx.conf
failo /etc/nginx.conf
skirsnį http
reikia įtraukti direktyvą:
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
Norėdami apsaugoti konkretų puslapio adresą (URL), turite pridėti direktyvą prie atitinkamo vietos bloko. Tai gali būti /wp-admin/admin-ajax.php:
location /wp-admin/admin-ajax.php {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
}
Jei svetainė yra "WordPress", geriausia vietą
patalpinti į location/
. Veiks visos pirmiau aprašytos taisyklės, be to, bus užtikrinta apsauga. Jei reikia leisti prieigą konkrečiai vietai
, direktyva atrodys kaip auth_basic "off":
location /wp-admin/admin-ajax.php {
auth_basic "off";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
PHP apdorojimą reikės pridėti prie vietos
bloko, priešingu atveju naudotojas bus paprašytas atsisiųsti scenarijų, prie kurio jis jungiasi.
Taigi, nustatyti prieigą "Nginx" nėra labai sudėtinga. Tereikia tinkamai sukonfigūruoti vietos bloką.