我有一个/api
包含 HTTP 授权的位置。我希望在授权失败时显示 401 页面。
这是我的文件结构(如果它很重要,我在 Windows 上运行 nginx)
nginx
|─html
|
| 401.html
|
|─40x_files
|
| script.js
| styles.css
这是我的配置
server {
listen 80;
server_name example.com;
error_page 401 /401.html;
location = /401.html {
auth_basic off;
root html;
}
location /api {
auth_basic "Restricted area";
auth_basic_user_file ../conf/conf.d/htpasswd;
proxy_pass http://127.0.0.1:8080/api;
}
}
我有两个问题
如果我只是
example.com/401.html
在浏览器中输入,我会收到一个错误,提示无法访问40x_files
文件夹中的文件(此处是401.html
页面文件)如果我的授权失败,那么由于某种原因我会被重定向到此路径
api/40x_files/script.js
,我该如何将其恢复到正确状态?
我想我需要做某种事情rewrite
,但我真的不明白如何正确安排