Per configurar l'autenticació per a una web o un directori d'aquesta en NGINX, pots utilitzar l'eina htpasswd d'Apache per emmagatzemar les contrasenyes dels usuaris. En aquest article s'explicarà com fer-ho utilitzant el mòdul "ngx_http_auth_basic_module" d'NGINX i les directives "auth_basic" i "auth_basic_user_file". Tens més informació a la documentació oficial d'NGINX fent clic aquí.
Com instal·lar htpasswd
Primer hauràs d'instal·lar el paquet d'eines d'Apache que inclou htpasswd:
# apt install apache2-utils -y
Com utilitzar htpasswd per introduir credencials
# htpasswd -c /etc/nginx/.htpasswd usuari_exemple
# htpasswd /etc/nginx/.htpasswd usuari_exemple_dos
Com configurar autenticació en un site d'NGINX
auth_basic "Accés restringit";
auth_basic_user_file /etc/nginx/.htpasswd;
Una vegada afegides les directives "auth_basic" i "auth_basic_user_file" a l'arxiu de configuració d'NGINX, guarda l'arxiu i recarrega la configuració perquè els canvis tinguin efecte. Pots fer-ho executant la següent comanda:
# nginx -s reload
Tingues en compte que hauràs d'utilitzar sudo si no estàs utilitzant l'usuari root, per executar aquesta comanda i recarregar la configuració d'NGINX. Amb això, ja hauries de poder accedir al teu lloc web protegit mitjançant autenticació. Quan intentis accedir a la pàgina, se't demanarà que introdueixis un nom d'usuari i contrasenya vàlids de l'arxiu htpasswd.
Com protegir l'arxiu htpasswd
És important recordar que l'arxiu htpasswd conté informació sensible, com els noms d'usuari i contrasenyes dels teus usuaris. Per tant, has d'assegurar-te de protegir-lo adequadament. Una manera de fer-ho és restringir l'accés a l'arxiu mitjançant permisos d'usuari i grup en Linux. Per exemple, pots executar la següent comanda en una finestra de terminal per restringir l'accés a l'arxiu htpasswd només a l'usuari "root" i el grup "www-data":
# chown root:www-data /etc/nginx/.htpasswd
També pots executar la següent comanda per restringir l'accés de lectura i escriptura a l'arxiu htpasswd només a l'usuari "root":
# chmod 640 /etc/nginx/.htpasswd
Amb aquests canvis de permisos, només l'usuari "root" i el grup "www-data" podran llegir i escriure a l'arxiu htpasswd, la qual cosa el protegeix de possibles atacs. No obstant això, és important recordar que això és només un exemple i has d'ajustar els permisos d'acord amb les teves necessitats i requeriments de seguretat.
Recorda, si tens consultes sobre aquesta o una altra qüestió relacionada amb els teus servidors en Clouding, no dubtis a escriure a suport@clouding.io Estem al teu costat per al que necessitis, consulta'ns!