欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解Nginx之error_page模塊的使用

 更新時間:2023年09月26日 15:06:02   作者:一個風輕云淡  
error_page是nginx一個重要的指令,作用是定制化服務器錯誤頁面,本文主要介紹了Nginx之error_page模塊的使用,具有一定的參考價值,感興趣的可以了解一下

error_page的概念

error_page是nginx一個重要的指令,作用是定制化服務器錯誤頁面。當nginx發(fā)生內(nèi)部錯誤時,比如說404、403、500等錯誤,默認會跳轉(zhuǎn)到nginx自帶的錯誤頁面。但是使用error_page指令可以修改默認錯誤頁面,并且可以指定跳轉(zhuǎn)的url或者文件路徑。

語法:

error_page code [ code... ] [ = | =answer-code ] uri | @named_location 

默認值:

no 

 使用字段:http, server, location, location 中的if字段 

使用舉例

跳轉(zhuǎn)到指定頁面

其原理是響應到錯誤代碼后,導向指定的路由,然后再由指定的路由處理,如下當錯誤代碼是404時,相當于訪問http://localhost:80/50x.html,正好被內(nèi)部傳送給 location = /50x.html讓其來進行處理(需要注意必須有50x.html這個頁面)

        error_page 404 403 500 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        }

跳轉(zhuǎn)到指定網(wǎng)址

其原理是響應到錯誤代碼后,302(臨時重定向到目標網(wǎng)址),如下當錯誤代碼為404時,導向https://www.csdn.net

error_page 404 403 500 https://www.csdn.net;

使用location的@符合完成錯誤信息展示

server{
	error_page 404 @jump_to_error;
	location @jump_to_error {
		default_type text/plain;
		return 404 'Not Found Page...';
	}
}

?更改反饋狀態(tài)碼  

本來遇到404找不到文件的錯誤,但是nginx可以把它狀態(tài)碼改為200返回給用戶(例子如下) ? 

        error_page 404 =200 /50x.html;#注意這里的縮進不是隨便的
        location = /50x.html {
                root /usr/share/nginx/html;
        }

error_page配置小提示

注意 error_page 配置時加 = 和不加 = 的區(qū)別,加了 = 表示響應為指定的 http status code ,默認為 200,不加 = 為原錯誤的狀態(tài)碼~

# 這樣可以訪問錯誤頁面時 http status 為 404 ,并且頁面內(nèi)容是 404.html 的內(nèi)容
error_page 404 /404.html
error_page 404 500 /404.html;
# 這樣配置訪問錯誤頁面時 http status 為 200 ,但頁面內(nèi)容是 404.html 的內(nèi)容
error_page 404 500 = /404.html;
# 這樣配置訪問錯誤頁面時 http status 為 404 ,但頁面內(nèi)容是 404.html 的內(nèi)容
error_page 404 500 =404 /404.html;
# 也可以把404請求直接301到某個域上
error_page 404 =301 https://xuexb.com/404;

這樣就可以根據(jù)自己需求配置錯誤頁為指定的狀態(tài)碼,因為非 200 的狀態(tài)碼可能會被瀏覽器攔截。

  • error_page 404 /404.html        可顯示自定義404頁面內(nèi)容,正常返回404狀態(tài)碼。
  • error_page 404 = /404.html    可顯示自定義404頁面內(nèi)容,但返回默認200狀態(tài)碼。
  • error_page 404 /404.php        如果是動態(tài)404錯誤頁面,包含 header 代碼(例如301跳轉(zhuǎn)),將無法正常執(zhí)行。正常返回404代碼。
  • error_page 404 = /404.php     如果是動態(tài)404錯誤頁面,包含 header 代碼(例如301跳轉(zhuǎn)),加等號配置可以正常執(zhí)行,返回php中定義的狀態(tài)碼。但如果php中定義返回404狀態(tài)碼,404狀態(tài)碼可以正常返回,但無法顯示自定義頁面內(nèi)容(出現(xiàn)系統(tǒng)默認404頁面),這種情況可以考慮用410代碼替代( header("HTTP/1.1 410 Gone"); 正常返回410狀態(tài)碼,且可正常顯示自定義內(nèi)容)。

實戰(zhàn)應用解讀

限流應用

由于在nginx配置中,設置了limit_req的流量限制,導致許多請求返回503錯誤代碼,在限流的條件下,為提高用戶體驗,希望返回正常Code 200,且返回操作頻繁的信息:

location  /test {
  ... 
  limit_req zone=zone_ip_rm burst=1 nodelay; 
  error_page 503 =200 /dealwith_503?callback=$arg_callback;
}
location /dealwith_503{ 
  set $ret_body '{"code": "V00006","msg": "操作太頻繁了,請坐下來喝杯茶。"}';
   if ( $arg_callback != "" ) 
   { 
       return 200 'try{$arg_callback($ret_body)}catch(e){}'; 
   } 
   return 200 $ret_body; 
}

尋找錯誤碼對應的文件

error_page后面跟的/error/404.html就相當于其訪http://localhost:80/error/404.html其被location /error捕獲

        error_page 404 /error/404.html;
        error_page 403 /error/403.html;
        location /error {
                alias /var/www/html;
        }

到此這篇關于深入理解Nginx之error_page模塊的使用的文章就介紹到這了,更多相關Nginx error_page內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • 關于nginx?反向代理?URL替換方案

    關于nginx?反向代理?URL替換方案

    這篇文章主要介紹了nginx?反向代理?URL替換方案,本文給大家代理兩種方法一種是直接替換location匹配部分,第二種是使用nginx?的rewrite?模塊,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • Nginx gateway集群和動態(tài)網(wǎng)關的實現(xiàn)思路

    Nginx gateway集群和動態(tài)網(wǎng)關的實現(xiàn)思路

    這篇文章主要介紹了Nginx gateway集群和動態(tài)網(wǎng)關,動態(tài)網(wǎng)關即任何配置都實現(xiàn)不用重啟網(wǎng)關服務器都可以及時刷新,對Nginx gateway集群相關知識感興趣的朋友一起看看吧
    2022-10-10
  • 關于Nginx跨域問題及解決方案(CORS)

    關于Nginx跨域問題及解決方案(CORS)

    文章主要介紹了跨域資源共享(CORS)機制及其在現(xiàn)代Web開發(fā)中的重要性,通過Nginx,可以簡單地解決跨域問題,適合新手學習和應用,文章詳細講解了CORS的基本概念、常見的跨域場景、Nginx如何解決CORS問題,以及如何配置Nginx來處理CORS請求
    2025-02-02
  • 為Nginx添加mp4流媒體支持

    為Nginx添加mp4流媒體支持

    這篇文章主要介紹了為Nginx添加mp4流媒體支持的的相關資料,需要的朋友可以參考下
    2014-12-12
  • PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯誤的解決方法

    PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯誤的解決方法

    這篇文章主要介紹了PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯誤的解決方法,涉及nginx平臺的相關配置技巧,需要的朋友可以參考下
    2016-05-05
  • Nginx如何設置域名轉(zhuǎn)發(fā)到服務器指定的端口

    Nginx如何設置域名轉(zhuǎn)發(fā)到服務器指定的端口

    這篇文章主要介紹了Nginx如何設置域名轉(zhuǎn)發(fā)到服務器指定的端口,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Nginx處理請求時的匹配規(guī)則詳析

    Nginx處理請求時的匹配規(guī)則詳析

    這篇文章主要給大家介紹了關于Nginx處理請求時的匹配規(guī)則的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Nginx具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • nginx+tomcat實現(xiàn)負載均衡,使用redis session共享

    nginx+tomcat實現(xiàn)負載均衡,使用redis session共享

    這篇文章主要介紹了nginx tomcat負載均衡 使用redis session共享,有興趣的同學可以了解一下。
    2016-12-12
  • nginx配置文件nginx.conf中文注釋說明

    nginx配置文件nginx.conf中文注釋說明

    nginx配置文件nginx.conf中文注釋說明,大家參考使用吧
    2013-12-12
  • Nginx端口映射配置方法

    Nginx端口映射配置方法

    這篇文章主要介紹了Nginx端口映射配置方法和多端口映射,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論