最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx 中 proxy_intercept_errors 實現(xiàn)后端 502/504 錯誤的優(yōu)雅降級

 更新時間:2026年04月19日 10:56:55   作者:冷漠man  
本文主要介紹了Nginx 中 proxy_intercept_errors 實現(xiàn)后端 502/504 錯誤的優(yōu)雅降級,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

proxy_intercept_errors的作用是當后端返回非空體的4xx/5xx響應時,中斷默認錯誤處理并交由error_page處理;前提為開啟該指令且對應狀態(tài)碼已通過error_page顯式綁定。

 proxy_intercept_errors 的作用與前提條件

proxy_intercept_errors 本身不生成錯誤頁,也不主動重定向。它的核心作用是:當后端返回 4xx 或 5xx 響應(且響應體非空)時,允許 Nginx 中斷默認錯誤處理流程,轉而使用 error_page 指令定義的自定義響應。

要讓 502/504 觸發(fā)降級頁,必須滿足兩個前提:

  • Nginx 配置中開啟 proxy_intercept_errors on;
  • 對應狀態(tài)碼(如 502、504)已通過 error_page 顯式綁定到一個 location 或 URI

正確配置 502/504 降級頁的最小完整示例

以下配置將所有 502 和 504 錯誤統(tǒng)一跳轉到靜態(tài)降級頁 /fallback.html(由 Nginx 直接返回,不經(jīng)過后端):

location / {
    proxy_pass http://backend;
    proxy_intercept_errors on;
<pre class="brush:php;toolbar:false;"># 關鍵:顯式捕獲 502 和 504,并指向內部 location
error_page 502 504 = @fallback;

內部 location,不對外暴露,僅用于服務降級頁

location @fallback { internal; root /usr/share/nginx/html; try_files /fallback.html =404; }

注意:= @fallback 中的等號表示“內部重定向并保持狀態(tài)碼”,而 = 后不跟數(shù)字(如 =200)則會保留原始狀態(tài)碼;但這里用 @fallback 是命名 location,需配合 internal 使用,確保無法被外部直接訪問。

進階技巧:按路徑或上游分組設置不同降級頁

若業(yè)務中部分接口可降級、部分不可降級,或不同模塊需不同提示頁,可通過嵌套 location 或 map 變量實現(xiàn)差異化處理:

  • 為關鍵 API 單獨配置:location /api/pay { ... error_page 502 504 = @pay_fallback; }
  • 用 map 根據(jù) upstream 名動態(tài)設降級頁路徑:
map $upstream_addr $fallback_path {
  ~10\.0\.1\.10:8080 "/fallback-core.html";
  ~10\.0\.1\.11:8080 "/fallback-user.html";
  default "/fallback-generic.html";
  }

常見陷阱與驗證要點

實際部署中容易忽略的關鍵點:

  • 后端必須返回非空響應體:Nginx 默認對空體的 502/504 不觸發(fā) error_page,即使開了 proxy_intercept_errors??稍跍y試時用 curl -v http://test/502 檢查響應頭和 body 是否存在
  • 不要混用 return 和 error_page:例如在 location 中寫 return 502;,此時未經(jīng)過 proxy,proxy_intercept_errors 完全不生效
  • 日志中確認是否命中:開啟 error_log /var/log/nginx/error.log notice;,觸發(fā)錯誤時觀察日志是否出現(xiàn) error_page 相關提示,或使用 log_subrequest on 查看內部重定向過程

到此這篇關于Nginx 中 proxy_intercept_errors 的文章就介紹到這了,更多相關proxy_intercept_errors內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • nginx實現(xiàn)ip限流的具體示例

    nginx實現(xiàn)ip限流的具體示例

    限流的方式油很多種,本文主要介紹了nginx實現(xiàn)ip限流的具體示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • Nginx 配置TCP代理轉發(fā)的實現(xiàn)

    Nginx 配置TCP代理轉發(fā)的實現(xiàn)

    本文主要介紹了使用Nginx新版的stream方式,實現(xiàn)TCP/UDP代理轉發(fā),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-10-10
  • OpenResty是什么,OpenResty和Nginx的區(qū)別?

    OpenResty是什么,OpenResty和Nginx的區(qū)別?

    Nginx作為一款輕量級、高性能的Web服務器,傳統(tǒng)局限性也很明顯:靜態(tài)配置、邏輯擴展依賴C模塊開發(fā),使得它在需要動態(tài)業(yè)務邏輯的場景中顯得捉襟見肘,<BR>而OpenResty的出現(xiàn),打破了這一僵局,它通過將Lua腳本深度集成到Nginx中,將“靜態(tài)代理服務器”升級為“動態(tài)應用平臺”
    2025-04-04
  • Nginx設置成服務并開機自動啟動的配置

    Nginx設置成服務并開機自動啟動的配置

    Nginx?是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務,接下來通過本文給大家介紹Nginx設置成服務并開機自動啟動的配置,需要的朋友可以參考下
    2022-01-01
  • 重啟或殺掉Nginx進程后丟失nginx.pid的解決辦法

    重啟或殺掉Nginx進程后丟失nginx.pid的解決辦法

    在重啟或殺掉nginx進程后,會丟失nginx.pid文件,導致nginx無法正常啟動,這里分享下解決方法
    2014-01-01
  • Nginx中keepalive配置小結

    Nginx中keepalive配置小結

    本文介紹了Nginx keepalive配置的概念和作用,闡述了keepalive連接的基本原理和優(yōu)勢,并給出了一些常用的配置示例,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Nginx反向代理入門實戰(zhàn)指南

    Nginx反向代理入門實戰(zhàn)指南

    反向代理:反向代理也叫reverse proxy,指的是代理外網(wǎng)用戶的請求到內部的指定web服務器,并將數(shù)據(jù)返回給用戶的一種方式,這是用的比較多的一種方式,下面這篇文章主要給大家介紹了關于Nginx反向代理的相關資料,需要的朋友可以參考下
    2021-08-08
  • Nginx網(wǎng)站服務過程詳解

    Nginx網(wǎng)站服務過程詳解

    Nginx是一款高性能、異步非阻塞工作模式、輕量級Web服務軟件,這篇文章主要介紹了Nginx網(wǎng)站服務的相關知識,需要的朋友可以參考下
    2023-06-06
  • Nginx的偽靜態(tài)配置中使用rewrite來實現(xiàn)自動補全的實例

    Nginx的偽靜態(tài)配置中使用rewrite來實現(xiàn)自動補全的實例

    這篇文章主要介紹了Nginx的偽靜態(tài)配置中使用rewrite來實現(xiàn)自動補全的實例,文中對rewrite的相關參數(shù)和正則表達使用也做了介紹,需要的朋友可以參考下
    2015-12-12
  • 使用nginx實現(xiàn)一個端口和ip訪問多個vue前端的全過程

    使用nginx實現(xiàn)一個端口和ip訪問多個vue前端的全過程

    為滿足單端口訪問多個前端應用的需求,需要對nginx進行配置,同時修改vue項目的publicPath參數(shù),這篇文章主要介紹了使用nginx實現(xiàn)一個端口和ip訪問多個vue前端的相關資料,需要的朋友可以參考下
    2024-09-09

最新評論

桐柏县| 应用必备| 习水县| 醴陵市| 镇雄县| 华坪县| 天峻县| 菏泽市| 西乌珠穆沁旗| 满洲里市| 大同县| 山阳县| 社旗县| 桃园县| 揭东县| 高碑店市| 喀喇| 成都市| 宁安市| 清水县| 仪陇县| 沁水县| 万载县| 潞西市| 阳泉市| 新余市| 甘肃省| 乌拉特中旗| 油尖旺区| 濉溪县| 夹江县| 定州市| 龙门县| 萍乡市| 深圳市| 赫章县| 西和县| 金溪县| 衡东县| 揭阳市| 沅陵县|