Я пытаюсь защитить паролем каталог на моем сайте, работающем на Nginx, который содержит такие вещи, как phpMyAdmin, MemcacheMyAdmin и другие утилиты администратора.403 запрещено - Nginx - с использованием правильных учетных данных
Этот каталог находится в корневом каталоге моего сайта по адресу:
domain.com/control/
Абсолютный путь на моем сервере по адресу:
/home/deployer/sites/domain.com/control/
Я создал файл .htpasswd в каталоге с помощью эта команда:
htpasswd -c /home/deployer/sites/domain.com/control/.htpasswd admin
Файл присутствует, принадлежит пользователю «root» и имеет разрешения 0644.
В файле .conf для этого домена в Nginx я использую следующий блок местоположения, требующий аутентификации.
location /control {
auth_basic "Restricted Area: Control";
auth_basic_user_file /home/deployer/sites/domain.com/control/.htpasswd;
}
При переходе в защищенную паролем директорию мне предлагается ввести имя пользователя и пароль. Я ввожу свои ранее созданные учетные данные, а затем мне предоставляется ошибка 403 запрещенной страницы.
журналы доступа показать мне, что я поражаю приглашение для входа, а затем войти в качестве «администратора» пользователь:
64.123.456.225 - - [12/May/2013:17:30:48 +0000] "GET /control HTTP/1.1" 401 597 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
64.123.456.225 - admin [12/May/2013:17:30:48 +0000] "GET /control HTTP/1.1" 301 185 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
64.123.456.225 - admin [12/May/2013:17:30:59 +0000] "GET /control/memcache/ HTTP/1.1" 403 199 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"
Журналы ошибок показывают следующее:
2013/05/12 17:31:01 [error] 30462#0: *1 directory index of "/home/deployer/sites/domain.com/control/memcache/" is forbidden, client: 64.123.456.225, server: domain.com, request: "GET /control/memcache/ HTTP/1.1", host: "domain.com"
2013/05/12 17:31:09 [error] 30462#0: *1 directory index of "/home/deployer/sites/domain.com/control/memcache/" is forbidden, client: 64.123.456.225, server: domain.com, request: "GET /control/memcache/ HTTP/1.1", host: "domain.com"
Если я удалите блок Auth для Nginx .conf для этого сайта, я могу получить доступ к странице, как обычно.
Спасибо за помощь!
Это правильно. Я добавил «index index.php;» к блоку местоположения, и он загружается. Очень ценится. –
Чтобы связать другой ответ jgpatrick3, предмет индекса также может быть проблемой, если вы пытаетесь использовать autoindex, потому что аутентификация отменяет «autoindex on» из внешней директивы, поэтому вам нужно «вручную» повторно включить ' autoindex on' в аутентифицированной зоне. – Dubslow