nginx自定义500,502,504错误页面无法跳转
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx自定义500,502,504错误页面无法跳转相关的知识,希望对你有一定的参考价值。
1、自定一个页面,这个页面是一个链接地址可以直接访问的。
以下是nginx的配置:
location / {
proxy_pass http://tomcat_app108;
#client_max_body_size 1000m;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 502 503 504 http://www.cbd.com;
index index.html;
}
注:当出现50x的错误的时候,域名会发生变化,会跳转到这个 http://www.cbd.com域名上去
2、自定义一个页面,当发生50x的错误的时候,域名不变
以下是nginx配置:
location / {
proxy_pass http://tomcat_app108;
#client_max_body_size 1000m;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 502 503 504 /tips;
index tips.html index.html;
location /tips {
root /opt/www/test/;
index tips.html;
}
注:当发生50x的错误的时候,会去寻找/tips的信息,然后匹配到下面location /tips这个location的内容,跟着会去到这个/opt/www/test/目录下寻找相关页面,这个目录下面有tips这个目录,tips目录下面有tips.html这个文件,这样一步一步就能找到自定义的错误页面了
比如域名是www.cbd.com,访问一下www.cbd.com/tips如果能访问到错误页面说明配置没有问题;
验证:当服务器端发生500,502,503错误时候,会自动跳转到www.cbd.com/tips
注意:若发生错误没有跳转,需要详细看一下一个参数:
proxy_intercept_errors on;
当上游服务器响应头回来后,可以根据响应状态码的值进行拦截错误处理,与error_page 指令相互结合。用在访问上游服务器出现错误的情况下。
以下是完整的配置:
location / {
proxy_pass http://tomcat_app108;
#client_max_body_size 1000m;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_intercept_errors on;
error_page 502 503 504 /tips;
index tips.html index.html;
location /tips {
root /opt/www/test/;
index tips.html;
}
以上是关于nginx自定义500,502,504错误页面无法跳转的主要内容,如果未能解决你的问题,请参考以下文章