
Я пытаюсь настроить свой сервер так, чтобы он требовал аутентификацию перед просмотром любого файла в домене. Однако я хочу отображать пользовательскую страницу ошибки ( placeholder.html
), когда кто-то не может пройти аутентификацию.
Я попробовал конфигурацию сервера, указанную ниже, но она отправляет мой браузер в бесконечный цикл перенаправления (даже не отображая окно аутентификации). Может кто-нибудь объяснить это? Как бы вы решили это?
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.html index.htm;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/example.com.auth;
error_page 401 placeholder.html;
location = placeholder.html {
auth_basic off;
}
location / {
try_files $uri $uri/ =404;
}
}
решение1
placeholder.html
Перед обеими директивами location
и необходимо добавить начальную косую черту error_page
.