nginx自定義錯誤頁面

當請求到達web服務器,nginx先根據配置判斷請求是否做了靜態化,沒有則轉發到配置指定的後端服務器。當後端出現異常時,如果後端不配置錯誤返回或者在nginx就用error_page做異常跳轉,直接就把後端的異常返回去了

1、改配置,在nginx.conf的http區域加入

#當被代理的後端響應狀態碼>=300時,直接將響應發送給客戶端,或配置nginx將響應轉error_page來處理。

proxy_intercept_errors on; 

#當FastCGI後端響應狀態碼>=300時,直接將響應發送給客戶端,或配置nginx將響應轉error_page來處理。

fastcgi_intercept_errors on;


2、在nginx.conf的server區加入

        error_page  403 404  /40x.html;
        error_page   500 501 502 503 504  /50x.html;
        location = /40x.html {
            root   html/errorpage; 

        location = /50x.html {
            root   html/errorpage/;      #錯誤頁面40x/50x.html的路徑。大於512字節,否則會跳到IE默認的404錯誤頁面
        }

3、測試配置並重啓

nginx -t

nginx -s reload

然後瀏覽器模擬訪問不存在的頁面看看,看是否跳到指定的錯誤頁面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章