![Cum se face upgrade la Linux Mint 20 Ulyana](/f/4394bcecc536682d068d4f8ff24ca127.jpg?width=100&height=100)
Autentificarea HTTP de bază este un mecanism de securitate pentru a restricționa accesul la site-ul / aplicația dvs. sau la anumite părți ale acesteia prin configurarea autentificării simple a utilizatorului / parolei. Poate fi utilizat în esență pentru a proteja întregul server HTTP, blocuri individuale de server (gazde virtuale în Apache) sau blocuri de localizare.
Citește și: Cum se configurează gazdele virtuale bazate pe nume și IP (blocuri de servere) cu NGINX
După cum sugerează și numele, nu este o metodă sigură pe care să te bazezi; ar trebui să-l utilizați împreună cu alte măsuri de securitate mai fiabile. De exemplu, dacă aplicația dvs. web rulează pe HTTP, acreditările de utilizator sunt transmise în text simplu, deci ar trebui să luați în considerare activarea HTTPS.
Scopul acestui ghid este de a vă ajuta să adăugați un strat de securitate mic, dar util, pentru a proteja conținutul privat / privilegiat din aplicațiile dvs. web (cum ar fi, dar fără a se limita la partea administratorilor). De asemenea, îl puteți utiliza pentru a împiedica accesul la un site web sau o aplicație care se află încă în faza de dezvoltare.
Ar trebui să începeți prin crearea unui fișier care să stocheze nume utilizator, parola
perechi. Vom folosi htpasswd utilitar de la Apache HTTP Server, pentru a crea acest fișier.
Mai întâi verificați asta apache2-utils sau instrumente httpd, pachetele care furnizează htpasswd utilitar sunt instalate pe sistemul dvs., altfel executați comanda corespunzătoare pentru distribuția dvs. pentru ao instala:
# yum instalează httpd-tools [RHEL / CentOS] $ sudo apt install apache2-utils [Debian / Ubuntu]
Apoi, fugi htpasswd comanda de mai jos pentru a crea fișierul de parolă cu primul utilizator. -c
opțiunea este utilizată pentru a specifica fișierul passwd, odată ce ați lovit [Introduce], vi se va cere să introduceți parola de utilizator.
# htpasswd -c /etc/nginx/conf.d/.htpasswd dezvoltator.
Adăugați un al doilea utilizator și nu utilizați -c
opțiune aici.
# htpasswd /etc/nginx/conf.d/.htpasswd administrator.
Acum că aveți fișierul de parolă gata, continuați să configurați părțile serverului dvs. web la care doriți să restricționați accesul. Pentru a vizualiza conținutul fișierului de parole (care include nume de utilizator și parole criptate), utilizați comandă pisică de mai jos.
# cat /etc/nginx/conf.d/.htpasswd
Așa cum am menționat mai devreme, puteți restricționa accesul la serverul dvs. web, la un singur site web (utilizând blocul său de server) sau la o directivă de localizare. Două directive utile pot fi utilizate pentru a realiza acest lucru.
Pentru a implementa autentificarea de bază pentru întregul server web, care se aplică tuturor blocurilor de server, deschideți fișierul /etc/nginx/nginx.conf fișier și adăugați liniile de mai jos în contextul http:
http {auth_basic "Acces restricționat!"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; ……... }
Pentru a activa autentificarea de bază pentru un anumit domeniu sau subdomeniu, deschideți fișierul său de configurare sub /etc/nginx/conf.d/ sau /etc/nginx/conf/sites-available (în funcție de modul în care ați instalat Nginx), apoi adăugați configurația de mai jos în blocul de server sau context:
server {asculta 80; server_name example.com; auth_basic "Acces restricționat!"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; Locație / { …….. } ……... }
De asemenea, puteți activa autentificarea de bază în cadrul unei directive de localizare. În exemplul de mai jos, toți utilizatorii care încearcă să acceseze /admin
blocul de locație va fi rugat să se autentifice.
server {asculta 80; server_name example.com www.example.com; Locație / { …….. } Locație /admin/ {auth_basic "Acces restricționat!"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; } locație / public / {auth_basic off; # dezactivează autentificarea http de bază pentru acest bloc} …….. }
Dacă ați configurat autentificarea HTTP de bază, toți utilizatorii care încearcă să vă acceseze serverul web sau un subdomeniu sau un anumit parte a unui site (în funcție de locul în care l-ați implementat), vi se va solicita un nume de utilizator și o parolă, așa cum se arată în captura de ecran de mai jos.
În cazul unei autentificări a utilizatorului eșuate, un „401 Autorizare necesară”Va fi afișată eroarea așa cum se arată mai jos.
Puteți găsi mai multe informații la restricționarea accesului cu autentificare HTTP de bază.
S-ar putea să doriți, de asemenea, să citiți următoarele ghiduri utile despre serverul Nginx HTTP.
În acest ghid, am arătat cum să implementăm autentificarea HTTP de bază pe serverul web HTTP Nginx. Pentru a pune întrebări, utilizați formularul de feedback de mai jos.