工做中遇到的自定義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生效

相關文章
相關標籤/搜索