¿Cómo protejo con contraseña una página de Apache o Nginx (basic auth)?
Genera una entrada para un archivo .htpasswd: la línea en formato `usuario:hash` lista para pegar en un archivo .htpasswd de Apache o en la directiva `auth_basic_user_file` de Nginx.
Soporta: bcrypt (recomendado para 2024+, el más fuerte), MD5 APR1 (`$apr1$`, clásico de Apache) y SHA-1 (`{SHA}`, compatible con Nginx).
Todo se calcula en tu navegador, la contraseña nunca sale.
Cómo usarlo
- Escribe un nombre de usuario (p. ej. "admin", "backup_user").
- Escribe la contraseña: el hash se calcula al instante en el navegador.
- Elige el algoritmo: bcrypt (el más fuerte, ~50 ms por hash, Apache 2.4+ y Nginx 1.10+), MD5 APR1 (clásico de Apache, funciona en todas partes), SHA-1 (solo Nginx, el más débil pero el más rápido).
- Para bcrypt, define el cost (4-14). Por defecto 10, equilibrio entre seguridad y latencia de login (~50 ms de verificación). 12 o más para apps de alta seguridad.
- Copia la línea o descarga el .htpasswd. Súbelo al servidor en un lugar seguro fuera del document root y referéncialo desde Apache (`AuthUserFile`) o Nginx (`auth_basic_user_file`).
Cuándo es útil
Cinco situaciones típicas en las que basic auth con .htpasswd basta 100%:
- Cerrar un sitio estático frente a indexación. Basic auth en un panel de staging/test.
- Proteger un directorio `/admin/` en Apache.
- Mirror privado de paquetes (Composer, npm). Acceso solo para el equipo.
- Sitio interno de documentación. Acceso a docs internas.
- Servidor de artefactos de CI/CD. Servidor privado de artefactos de build.
Para configuraciones más grandes (10 o más usuarios), valora un proveedor de identidad dedicado: basic auth escala mal. Un único usuario o equipo pequeño = el caso de uso ideal.
El generador te permite añadir una entrada sin instalar el CLI htpasswd ni las utilidades de Apache.