У меня есть веб-сайт, работающий на AWS EC2 Amazon Linux 2 AMI с Apache и PHP / Laravel. Это тестовый сайт, и я хочу защитить его паролем через .htpasswd
. Даже после нескольких уроков я не могу заставить его работать. Стоит отметить, что сайт работает отлично без конфигурации .htpasswd
.
Когда я пытаюсь настроить его и go для сайта, он запрашивает у меня имя пользователя и пароль, но при правильном вводя их, я получаю следующую ошибку:
Чтобы настроить файл .htpasswd
, я выполнил следующие команды:
cd ~
htpasswd -c .htpasswd project-name # Then input a password when prompted to.
sudo chown ec2-user:apache .htpasswd
sudo chmod 777 .htpasswd
Затем я добавил следующее в файл .htaccess
в каталоге public
проекта Laravel:
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/ec2-user/.htpasswd
Require valid-user
И когда я пытаюсь загрузить сайт, я получаю выше ошибка. Если я закомментирую четыре строки в файле .htaccess
, он будет работать нормально, но я не могу заставить его работать иначе. Я не уверен, что происходит, так как конфигурация Apache довольно проста.
Если это имеет значение, я добавил конфигурацию виртуального хоста в файл Apache httpd.conf
. Это выглядит примерно так:
<VirtualHost *:80>
ServerName ip-address
DocumentRoot /var/www/project-name/public
<Directory /var/www/project-name>
AllowOverride All
</Directory>
</VirtualHost>
Кроме того, я не уверен, имеет ли это значение, но поскольку это тестовый сайт, с ним не связано ни одно доменное имя. Он доступен только через IP-адрес.
Я пытался перезапустить службу Apache и все остальное, что я могу придумать, но безрезультатно. У кого-нибудь есть мысли о том, что я могу делать неправильно? Спасибо.