Tutoriales

Cómo proteger con contraseña un directorio con autenticación Nginx

I necesita restringir el entrada al directorio / app / en Nginx. ¿Cómo configuro una contraseña para proteger un directorio con autenticación Nginx .htpasswd en sistemas Linux o tipo Unix?

Necesitamos proteger varios directorios o puntos finales con Nginx. Por ejemplo, a menudo protejo con contraseña y restrinjo el entrada usando la dirección IP hasta que mi plan paralelo está pronto para funcionar. Esta cicerone explica cómo proteger con contraseña directorios o ubicaciones de URL como / app / en un servidor web Nginx que se ejecuta en sistemas Linux o similares a Unix.

Detalles del tutorial
DificultadIntermedio (rss)
Privilegios de root
RequisitosNginx
Hora5m



Cómo proteger con contraseña el directorio con autenticación Nginx .htpasswd

El procedimiento es el venidero:

  1. Cala la aplicación de terminal
  2. Inicie sesión en su servidor usando el comando ssh (ssh adjudicatario@ec2-nube-servidor-ip)
  3. Edite el archivo nginx.conf y agregue las directivas de configuración de autenticación básica HTTP: auth_basic "Solo entrada restringido";
  4. Asegúrese de configurar el archivo .htpasswd: auth_basic_user_file /etc/nginx/.htpasswd;
  5. Cree un nuevo archivo .htpasswd y agregue el primer nombre de adjudicatario y contraseña: htpasswd -c /etc/nginx/.htpasswd adjudicatario
  6. Vuelva a cargar el servidor Nginx: nginx -s recarga

Veamos todos los comandos y ejemplos en detalle para configurar la autenticación de contraseña con Nginx.

Paso 1: instale las dependencias necesarias para configurar la autenticación psssword con Nginx

Necesita instalar el comando htpasswd. No forma parte del servidor web Nginx. Pero son las dependencias necesarias para restringir el entrada con la autenticación básica HTTP según su distribución Linux / Unix. Por lo tanto, escriba el comando:
## Debian/Ubuntu Linux use apt command ##
sudo apt install apache2-utils
## Fedora/RHEL 8.x use dnf command ##
sudo dnf install httpd-tools
## CentOS/RHEL 7.x use dnf command ##
sudo yum install httpd-tools
## Alpine Linux user apk command ##
sudo apk add apache2-utils

Paso 2: edita la configuración de Nginx

Edite el /etc/nginx/nginx.conf o archivo de configuración de dominio aparente como www.opensourceflare.com.conf expediente:

location / {
    try_files $uri $uri/ /index.php?$query_string;
    auth_basic          "ADMIN Login";
    auth_basic_user_file /etc/nginx/.htpasswd-opensourceflare.com;
}

Solo protege nuestro / app / directorio:

location /app/ {
    auth_basic          "Restricted and Password Protected App";
    auth_basic_user_file /etc/nginx/.htpasswd-opensourceflare.com;
}

Paso 3: creación del archivo de contraseña

Utilice el comando htpasswd para crear un nuevo /etc/nginx/.htpasswd-opensourceflare.com de la venidero guisa:
# htpasswd -c {/path/to/.htpasswd-file} {userName}
# htpasswd -c /etc/nginx/.htpasswd-opensourceflare.com vivek

¿Quieres crear usuarios adicionales ?. Evite el -C opción porque el archivo de contraseña /etc/nginx/.htpasswd-opensourceflare.com ya existe en Linux o Unix box:
# htpasswd /etc/nginx/.htpasswd-opensourceflare.com user2
# htpasswd /etc/nginx/.htpasswd-opensourceflare.com ramu

Podemos ver que el archivo contiene que incluye nombres de adjudicatario y contraseñas cifradas de la venidero guisa usando el comando cat:
# cat /etc/nginx/.htpasswd-opensourceflare.com

Paso 4: reiniciar o recargar el servidor Nginx

Pruebe el servidor en pesquisa de errores:
# nginx -t
Si no hay errores, vuelva a cargar o reinicie el servidor web nginx, escriba:
# nginx -s reload

Paso 5: pruébalo

En su navegador, escriba url:
https://www-your-domain/
https://www-your-domain/app/
https://www.opensourceflare.com/

Comprobación

Proteger directorios con contraseña con Nginx y dirección IP / CIDR

Podemos ajustar la seguridad combinando la autenticación básica HTTP de Nginx con entrada restringido por dirección IP o CIDR. Por lo tanto, edite el archivo de configuración de Nginx, ejecute:

location / {
    try_files $uri $uri/ /index.php?$query_string;
    satisfy all;
    auth_basic          "ADMIN Login";
    auth_basic_user_file /etc/nginx/.htpasswd-opensourceflare.com;
    allow 202.54.1.2;
    allow 10.8.1.0/24;
    deny all;
}

Vuelva a cargar o reinicie el servidor web Nginx, escriba:
nginx -t && nginx -s reload
los satisfacer La directiva asegura que los clientes requieran una dirección IP válida y un nombre de adjudicatario / contraseña para lograr a nuestro sitio web.

Conclusión

Aprendió a configurar, configurar y restringir el entrada de autenticación básica HTTP al usar el servidor web Nginx. Consulte la documentación de Nginx para obtener más información:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba