Tengo un sitio web que se ejecuta en un AWS EC2 Amazon Linux 2 AMI con Apache y PHP/Laravel. Sin embargo, es un sitio de prueba y quiero proteger el sitio con contraseña a través de .htpasswd . Incluso después de seguir varios tutoriales, parece que no puedo hacerlo funcionar. Vale la pena señalar que el sitio funciona perfectamente bien sin la configuración .htpasswd .
Cuando intento configurarlo e ir al sitio, me solicita el nombre de usuario y la contraseña, pero al ingresarlos correctamente, aparece el siguiente error:
Para configurar el archivo .htpasswd , ejecuté los siguientes comandos:
cd ~ htpasswd -c .htpasswd project-name # Then input a password when prompted to. sudo chown ec2-user:apache .htpasswd sudo chmod 777 .htpasswd Luego agregué lo siguiente al archivo .htaccess en el directorio public del proyecto Laravel:
AuthType Basic AuthName "Restricted Access" AuthUserFile /home/ec2-user/.htpasswd Require valid-user Y cuando intento cargar el sitio, aparece el error anterior. Si comento las cuatro líneas en el archivo .htaccess , entonces funciona bien, pero no puedo hacer que funcione de otra manera. No estoy seguro de lo que está pasando, ya que la configuración de Apache es bastante sencilla.
Si importa, agregué una configuración de host virtual al archivo httpd.conf de Apache. Se ve algo como esto:
<VirtualHost *:80> ServerName ip-address DocumentRoot /var/www/project-name/public <Directory /var/www/project-name> AllowOverride All </Directory> </VirtualHost>Además, no estoy seguro de si es importante, pero debido a que este es un sitio de prueba, no hay un nombre de dominio asociado. Sólo es accesible a través de una dirección IP.
Intenté reiniciar el servicio Apache y cualquier otra cosa que se me ocurra, pero fue en vano. ¿Alguien tiene alguna idea de lo que podría estar haciendo mal? Gracias.
Tenía problemas para ver el registro de errores de Apache, por lo que me resultaba tan difícil ver lo que estaba pasando, pero después de descubrir cómo acceder al registro de errores, vi que había un problema de permisos. Moví el archivo .htpasswd en el directorio de home ec2-user a una ubicación diferente y funcionó al instante. Gracias.