Table of Contents
Cómo proteger con contraseña los directorios web en Nginx
Los administradores de proyectos web a menudo necesitan proteger su trabajo de una forma u otra. A menudo, la gente pregunta cómo proteger con contraseña su sitio web mientras aún está en desarrollo.
Contraseña de Nginx Proteger el directorio web
En este tutorial, le mostraremos una técnica simple pero efectiva sobre cómo proteger con contraseña el directorio web cuando se ejecuta Nginx como servidor web.
En caso de que esté utilizando el servidor web Apache, puede consultar nuestra guía para proteger con contraseña un directorio web:
- Directorios web protegidos con contraseña en Apache
Requisitos
Para completar los Para seguir los pasos de este tutorial, deberá tener:
- Servidor web Nginx instalado
- Acceso root al servidor
Paso 1: Crear usuario y contraseña
1.. Para proteger con contraseña nuestro directorio web, necesitaremos crear el archivo que contendrá nuestro nombre de usuario. cifrado y contraseña.
freestar.config.enabled_slots.push
Al usar Apache. puede utilizar la utilidad “ htpasswd. . 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 username
Cuando ejecute este comando, estará se le pide que establezca una contraseña para el usuario anterior y luego se creará el archivo .htpasswd. en el directorio especificado.
htpasswd: Crear archivo de contraseña de usuario Nginx
2.. Si no tiene esa herramienta instalada, puede crear el archivo .htpasswd. a mano. El archivo debe tener la siguiente sintaxis:
nombre de usuario: contraseña-cifrada: comentario
El nombre de usuario. que usará depende de usted, elija lo que quiera.
La parte más importante es la forma en que generará la contraseña para ese usuario.
Paso 2: Genere la contraseña cifrada
3.. Para generar la contraseña, use la función “cripta”. integrada de Perl.
Aquí hay un ejemplo de ese comando:
# perl-le ‘print crypt (“su-contraseña”, “salt-hash”) ‘
Un ejemplo de la vida real:
# perl-le’ print crypt (“# 12Dfsaa $ fa”, “1xzcq”) ‘
Generate Encrypted-Password
Ahora abre un archivo y coloca tu nombre de usuario y el generado en una cadena, separados por punto y coma.
Así es como:
# 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 de “: 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/default.conf [Para sistemas basados en CentOS. O # vi/etc/nginx/nginx.conf [Para CentOS. sistemas basados] # vi/etc/nginx/sites-enabled/default [Para sistemas basados en Debian.
En nuestro ejemplo, protegeremos con contraseña la raíz del directorio para nginx, que es:/usr/share/nginx/html.
5.. Ahora agregue la siguiente sección de dos líneas debajo de la ruta que desea proteger.
auth_basic “Inicio de sesión de administrador”; auth_basic_user_file/home/tecmint/.htpasswd;
Proteger con contraseña el directorio de 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 pedirá la contraseña:
Nginx Password Protect Login
Eso es todo ! Su directorio web principal ahora está protegido. Cuando desee eliminar la protección con contraseña en el sitio, simplemente elimine las dos líneas que acaba de agregar al archivo .htpasswd. o use el siguiente comando para eliminar el usuario agregado de un archivo de contraseña.