Metode de plată Abuse

Cum să configurați Auth Basic NGINX

14.03.2021, 22:14

Poate că nu v-ați gândit niciodată prea mult la ce este Auth Basic, dar cu siguranță ați întâlnit-o când ați intrat în setările routerului. Este ceea ce se numește mecanismul de autorizare prin nume de utilizator și parolă la nivelul serverului web. O astfel de autorizare este suportată atât în Apache, cât și în Nginx. În această instrucțiune vă propunem să luați în considerare o astfel de întrebare, cum să configurați Auth Basic pentru o anumită rută sau un anumit site.

Configurarea Auth Basic în NGINX

Acesta este modul în care arată fereastra de autorizare Auth Basic:

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

Acum ar trebui să înțelegeți despre ce este vorba în această instrucțiune. Este posibil să configurați autorizarea pentru o anumită adresă URL, pentru întregul site sau pentru toate site-urile. Dar primul lucru de făcut este să creăm un fișier cu o listă de utilizatori și parole. În acest scop vom utiliza utilitarul htpasswd. Sintaxa comenzii este următoarea:

$ sudo htpasswd -c /path/to/file username

În acest caz, opțiunea -c este utilizată pentru a crea un fișier nou, nu trebuie să o utilizați pentru a edita fișiere create anterior. De exemplu:

$ sudo htpasswd -c /etc/nginx/auth.basic admin

Basic Auth

Programul va face o dublă cerere de parolă. Din motive de securitate, parola nu este afișată, dar este introdusă. După ce ați creat un astfel de fișier, puteți trece direct la configurarea Nginx.

Pentru a proteja cu parolă toate resursele, trebuie să adăugați o directivă la secțiunea http din fișierul /etc/nginx/nginx.conf:

auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;

настройка Nginx

Pentru a proteja o anumită adresă de pagină (URL), trebuie să adăugați o directivă la blocul de locație corespunzător. Acesta ar putea fi /wp-admin/admin-ajax.php:

location /wp-admin/admin-ajax.php {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
}

настройка Nginx

Dacă site-ul este pe WordPress, cel mai bine este să plasați locația în location/. Toate regulile descrise mai sus vor funcționa, plus că este asigurată protecția. Dacă trebuie să permiteți accesul pentru o anumită locație , directiva va arăta ca 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

Procesarea PHP va trebui să fie adăugată la blocul de locație, altfel utilizatorului i se va solicita să descarce scriptul pe care îl accesează.

Astfel, configurarea accesului în Nginx nu este prea dificilă. Trebuie doar să configurați corect blocul de locație.