Cómo proteger la contraseña de los directorios web en Nginx

Cómo proteger la contraseña de los directorios web en Nginx

Los gerentes de proyectos web a menudo necesitan proteger su trabajo de una forma u otra. A menudo, las personas preguntan cómo proteger la contraseña su sitio web mientras aún está en desarrollo.

Nginx Password Proteger Directorio web

En este tutorial, le mostraremos una técnica simple pero efectiva sobre cómo se ejecuta el directorio web protegido con contraseña al ejecutar NGINX como servidor web.

En caso de que esté utilizando el servidor web Apache, puede verificar nuestra guía para la protección de la contraseña de un directorio web:

  1. Password Protect Web Directorios en Apache

Requisitos

Para completar los pasos en este tutorial, deberá tener:

  • Servidor web nginx instalado
  • Acceso raíz al servidor

Paso 1: Crear usuario y contraseña

1. Para proteger con contraseña nuestro directorio web, deberemos crear el archivo que contenga nuestro encriptado nombre de usuario y contraseña.

Cuando usas apache, puedes usar el "htpasswd" utilidad. Si tiene esa utilidad instalada en su sistema, puede usar este comando para generar el archivo de contraseña:

# htpasswd -c/path/to/file/.htpasswd nombre de usuario 

Al ejecutar este comando, se le pedirá que establezca una contraseña para el usuario anterior y después de eso el .htpasswd El archivo se creará en el directorio especificado.

htpasswd: cree el archivo de contraseña de usuario de Nginx

2. Si no tiene esa herramienta instalada, puede crear el .htpasswd Archivo manualmente. El archivo debe tener la siguiente sintaxis:

Nombre de usuario: Cifryped-Password: Comentario

El nombre de usuario que usarás depende de ti, elige lo que quieras.

La parte más importante es la forma en que generará la contraseña para ese usuario.

Paso 2: Generar contraseña cifrada

3. Para generar la contraseña, use Perl's Integrated "cripta" función.

Aquí hay un ejemplo de ese comando:

# perl -le 'imprenta la cripta ("Su pasada", "Salt-Hash")' 

Un ejemplo de la vida real:

# perl -le 'print crypt ("# 12dfsaa $ fa", "1xzcq")' 
Generar pasword cifrada

Ahora abra un archivo y coloque su nombre de usuario y el generado en la cadena, separado con semicolon.

Aquí es cómo:

# VI/HOME/TECMINT/.htpasswd 

Pon tu nombre de usuario y contraseña. En mi caso se ve así:

Tecmint: 1xv2rdw7q6mk. 

Guarde el archivo presionando "Esc" seguido por ": WQ".

Agregar contraseña cifrada a htpasswd

Paso 3: Actualizar la configuración de Nginx

4. Ahora abra y edite el archivo de configuración de Nginx asociado con el sitio en el que está trabajando. En nuestro caso, usaremos el archivo predeterminado en:

# vi/etc/nginx/conf.d/predeterminado.conf [para Cento sistemas basados] o # vi/etc/nginx/nginx.conf [para Cento sistemas basados] # vi/etc/nginx/sites-habilitado/predeterminado [para Debian sistemas basados] 

En nuestro ejemplo, protegeremos la contraseña de la raíz del directorio para Nginx, que es: /usr/share/nginx/html.

5. Ahora agregue la siguiente sección de dos líneas en la ruta que desea proteger.

Auth_basic "Administrador de inicio de sesión"; auth_basic_user_file/home/tecmint/.htpasswd; 
Contraseña Proteger el directorio Nginx

Ahora guarde el archivo y reinicie Nginx con:

# SystemCTL reiniciar nginx o # servicio nginx reiniciar 

6. Ahora copie/pegue esa dirección IP en su navegador y se le debe pedir contraseña:

Nginx Password Protect inicio de sesión

Eso es todo! Su directorio web principal ahora está protegido. Cuando desee eliminar la protección de contraseña en el sitio, simplemente elimine las dos líneas a las que acaba de agregar .htpasswd Archivo o use el siguiente comando para eliminar al usuario agregado de un archivo de contraseña.

# htpasswd -d/path/to/file/.htpasswd nombre de usuario