La autenticación básica pone una petición de contraseña del navegador delante de una ruta, antes de que se llegue a su aplicación. Es ideal para sitios de pruebas, una herramienta interna o un segundo cerrojo sobre una zona de administración.
Cree el archivo de contraseñas
sudo apt-get install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd sara # -c creates; omit it to ADD
sudo chmod 640 /etc/nginx/.htpasswd
sudo chown root:www-data /etc/nginx/.htpasswd
-c sobrescribe el archivo. Úselo una vez, y nunca más sobre el mismo archivo, o acaba de borrar todas las demás cuentas que había dentro.
Nginx
location /staging/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Apache y LiteSpeed
AuthType Basic
AuthName "Restricted"
AuthUserFile /etc/nginx/.htpasswd
Require valid-user
Qué protege
- Un sitio de pruebas, de los buscadores y de los visitantes de paso.
- Una ruta de administración, de los intentos de acceso automáticos, antes de que lleguen a su aplicación.
- Cualquier cosa que quiera cerrar en silencio sin escribir código.
Qué no protege
- Solo es tan privada como su TLS. Por http la contraseña viaja casi en claro en cada petición.
- No hay bloqueo ni registro de quién entró: es una contraseña compartida, no una cuenta.
- Rompe las API y los webhooks que no saben enviar credenciales. Exima esas rutas de forma explícita.
location /staging/api/webhook {
auth_basic off;
}
Para un sitio de pruebas, añada además
add_header X-Robots-Tag "noindex, nofollow";. La autenticación básica ya mantiene fuera a los rastreadores; la cabecera lo mantiene fuera del índice si algún día se quita la protección por descuido.
