Mokėjimo būdai Abuse

Kaip sukonfigūruoti "Auth Basic NGINX

14.03.2021, 22:14

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.

Auth Basic konfigūravimas NGINX

Taip atrodo "Auth Basic" autorizacijos langas:

Окно авторизации Basic Auth

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

Basic Auth

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;

настройка Nginx

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;
}

настройка Nginx

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;
}

создание location

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ą.