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.
Acesta este modul în care arată fereastra de autorizare Auth Basic:
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
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;
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;
}
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;
}
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.
Apply the discount by inserting the promo code in the special field at checkout: