首页 > 代码库 > nginx自定义500,502,504错误页面无法跳转

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错误页面无法跳转