我允许几个 IP 访问该页面,allow x.x.x.x
然后在下面显示我当前正在使用的deny all
IP,这样就可以正常工作。但是,它目前显示 403,这是应该的,但我可以将其更改为显示我选择的其他代码吗?(例如,对于不在允许列表中的人,显示 404)我也测试过,return 404
但是它似乎不听从允许设置,只是为每个请求返回它。
答案1
此外,可以使用“=response”语法将响应代码更改为另一个,例如:
error_page 404 =200 /empty.gif;
因此,就你的情况而言,即:
error_page 403 =404 /404.html
因此,这种缺点是必须创建/复制404.html
。
但是,您可能想要添加内部位置:
location = /404.html {
internal;
return 404;
}
这样,您应该会得到默认的 NGINX 404 输出,而无需复制/创建任何额外的错误 HTML 文件。