Я пытаюсь использовать .htpasswd для защиты/admin/раздела в моем домене.Защита паролем файлов в папке в Nginx с использованием .htpasswd
Я смог успешно защитить файл корневой index.php с помощью этой конфигурации:
location /admin/ {
try_files $uri $uri/ =404;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Но ассоциированные файлы в этой папке находятся все еще доступны для просмотра. Например, на http://domain.com/admin/whatever.php - страница загружается, затем открывается пароль auth Nginx, но вы можете просто отказаться от нее и просмотреть страницу.
После некоторых исследований я попытался использовать regex wildcards безуспешно.
location "~^/admin/.$" {
try_files $uri $uri/ =404;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
location "~^/admin/*\$" {
try_files $uri $uri/ =404;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Как я могу защитить паролем как индекс корня, и все вложенные папки и файлы, а? Все прошлое/admin/должно быть недоступным.
Вы пробовали '' ~ ^/admin /.* "'? – SztupY
Это сработало, спасибо! Откуда вы знаете синтаксис для этого? – some1