我想通过提供拒绝/允许指令来保护 nginx 中的某些位置,但我不希望外界知道某个位置被拒绝。我希望外人得到 404,而不是 403 http 代码。我的配置片段是
location /admin/ {
uwsgi_pass myupstream1;
include /path/to/uwsgi_params;
allow 127.0.0.1;
deny all;
}
当我尝试访问/admin/时,nginx 响应 HTTP 403,但我希望它响应 HTTP 404。有什么办法吗?
请您参考如下方法:
error_page 403 404 /404.html;
location = /404.html {
internal; #return 404
}
location /admin/ {
uwsgi_pass myupstream1;
include /path/to/uwsgi_params;
allow 127.0.0.1;
deny all;
}
The 'internal' returns 404 by default.
改编自这个答案here