Skip to main content
 首页 » 编程设计

security之如何在 nginx 上拒绝 404

2024年08月06日12kuangbin

我想通过提供拒绝/允许指令来保护 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