当用户尝试查看 nginx Web 服务器中不存在的页面时,如何显示自定义“拒绝访问”页面?

当用户尝试查看 nginx Web 服务器中不存在的页面时,如何显示自定义“拒绝访问”页面?

/usr/share/html我创建了一个名为 的新文件access-denied.html。它包含“访问被拒绝”。

我的 apache 服务器在端口 8080 上运行,而 nginx 在端口 80 上运行。我使用 nginx 作为反向代理服务器。

server{
listen 80;
server_name test-reverse-proxy.com ;
location / {
proxy_pass http://192.168.169.149:8080/;
}
location /access-denied{
root /usr/share/nginx/html/access-denied.html;
try_files /access-denied.html =404;

}

}

目前,当我在浏览器中输入除 / 之外的内容时,例如http://192.168.169.149/dffdsf会出现 404 Not Found。

我希望将其替换为“拒绝访问”。

我该怎么做?

答案1

首先编写一个没有特殊行为的工作配置(即使您远程控制拒绝访问的位置块,您在此处向我们展示的内容也将不起作用。

其次,如果伴随 404 状态,则返回“拒绝访问”消息是毫无意义的。

error_page 403 404 =403 /access-denied.html;
root /usr/share/nginx/html/;

location / {
...

相关内容