工做中遇到的自定义502页面问题解决

背景描述: 用nginx自定义后端节点502页面,web项目是用java开发的+tomcat中间件。即: 前端nginx,代理后端tomcat。html

需求: 当后端tomcat节点出现宕机不能访问时候,显示自定义页面。而不是光秃秃的默认502页面显示。

中间折腾了许久,仍是未能完全解决。问铭哥寻求解决方法,参考铭哥给出的方法:http://blog.lishiming.net/?p=37下提供了思路前端

今天从新整理了下,完成配置以下:java

server {nginx

listen *:80;web

server_name www.hmh.com;后端

root /usr/share/nginx/html;tomcat

access_log /var/opt/nginxlog/default/access_log main;服务器

error_log /var/opt/nginxlog/default/error_log error;ide

proxy_intercept_errors on; //这行关键配置.net

recursive_error_pages on; //这行是关键配置

location ~ /* {

error_page 502 @502;

proxy_pass http://syt;

}

location @502 {

root html/502;

error_page 502 /index.html;

}

}

解决后端tomcat节点异常,显示自定义502页面(放在nginx上)问题。

说明: proxy_intercept_errors on; 当上游服务器响应头回来后,能够根据响应状态码的值进行拦截错误处理,与error_page 指令相互结合。用在访问上游服务器出现错误的状况下。recursive_error_pages on; 可让下面的location @502生效

相关文章
相关标签/搜索