我正在尝试设置我的服务器,使其在浏览域上的任何文件之前都需要进行身份验证。但是,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
指令之前添加一个前导斜杠。