我认为这会起作用,但由于某种原因它会跳过 auth_basic 并始终返回 200。如果我将 200 替换为 301 重定向,也会发生同样的情况。
如果我注释掉返回语句,它就可以正常工作。理想情况下我想要一个/auth
一旦通过身份验证,端点就会 301 重定向到另一个路径。
location /auth {
auth_basic_user_file /etc/nginx/.htpasswd;
auth_basic "Secret";
return 200 'hello';
}
我错过了什么吗?
非常感谢
fLo
return
- 指令在大多数其他指令之前执行。要解决您的问题,您需要将其分为两个位置:
location /auth {
auth_basic_user_file /etc/nginx/.htpasswd;
auth_basic "Secret";
try_files DUMMY @return200;
}
location @return200 {
return 200 'hello';
}
The try_files
- 指令在之后评估auth_basic
。第二个位置的评估仅作为以下结果try_files
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)