
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 | |
---|---|
Dificultad | Intermedio (rss) |
Privilegios de root | sí |
Requisitos | Nginx |
Hora | 5m |
Cómo proteger con contraseña el directorio con autenticación Nginx .htpasswd
El procedimiento es el venidero:
- Cala la aplicación de terminal
- Inicie sesión en su servidor usando el comando ssh (ssh adjudicatario@ec2-nube-servidor-ip)
- Edite el archivo nginx.conf y agregue las directivas de configuración de autenticación básica HTTP: auth_basic "Solo entrada restringido";
- Asegúrese de configurar el archivo .htpasswd: auth_basic_user_file /etc/nginx/.htpasswd;
- Cree un nuevo archivo .htpasswd y agregue el primer nombre de adjudicatario y contraseña: htpasswd -c /etc/nginx/.htpasswd adjudicatario
- 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: