天成1 发表于 2018-11-11 11:08:51

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_page502 503 504http://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_page502 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_page502 503 504/tips;
  index   tips.html index.html;
  location/tips {
  root/opt/www/test/;
  index   tips.html;
  }

页: [1]
查看完整版本: nginx自定义500,502,504错误页面无法跳转