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

K8S下http請求在ingress和nginx間無限循環(huán)的問題及解決

 更新時間:2025年07月10日 08:53:42   作者:bruce128  
文章描述了UAT環(huán)境中因Nginx與IngressController代理循環(huán)導致400錯誤的排查過程,發(fā)現(xiàn)proxy_set_header Host配置引發(fā)Host頭攜帶Nginx域名,導致請求反復轉(zhuǎn)發(fā),最終X-Forwarded-For頭溢出,解決方法是移除該配置

現(xiàn)象

應用發(fā)布uat后,某個接口的請求一直報

400 Bad Request Request Header Or Cookie Too Large

排查過程

1 根據(jù)錯誤提示,按照網(wǎng)上的教程,在nginx的配置里增加對應的配置

    large_client_header_buffers 4 1M;
    client_header_buffer_size 10M;

2 重啟nginx,再次請求,依然是這個報錯,但是nginx的日志明顯變長了

3 觀察nginx的日志,發(fā)現(xiàn)最后一個變量$http_x_forwarded_for特別的不正常,十分的長。觀察到請求在兩個服務器之間不斷的循環(huán),一直到header的長度被撐爆。這兩個服務器,一個是這臺nginx本身,另一個是ingress controller。

4 查看對應的nginx的配置。proxy_pass轉(zhuǎn)發(fā)到的是域名,這個域名是解析到了ingress controller 的ip上的

    location ~ ^/workflow-alogrithm/ {
        proxy_set_header Host $http_host;
        client_max_body_size 20M;
        proxy_set_header  X-Real-IP $http_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://***-uat.***.com;
    }
    

5 由于配置了 proxy_set_header Host $http_host;,請求ingress的時候請求頭Host攜帶的是這臺nginx掛的域名,ingress轉(zhuǎn)發(fā)的時候又會根據(jù)這個Host轉(zhuǎn)發(fā)到我的這臺nginx上,于是形成了一個無限循環(huán)。一直到X-Forwarded-For 變量的長度撐爆了請求頭。

PS, nginx是根據(jù)Host請求頭來把請求路由到對應的server塊的,參考nginx官方文檔 https://nginx.org/en/docs/http/request_processing.html

6 proxy_set_header Host $http_host;去掉這個配置,重啟。問題修復

K8S網(wǎng)絡請求拓撲

ingress controller負責k8s外部流量到k8s內(nèi)部流量的轉(zhuǎn)發(fā)。

ingress會根據(jù)host判斷請求應該走哪個server(選擇nginx作為ingress controller的情況下)。

k8s內(nèi)部服務之間的流量轉(zhuǎn)發(fā),推薦用service,別用dns解析到ingress的域名,避免導致無限循環(huán),少一次網(wǎng)絡轉(zhuǎn)發(fā),性能也更好。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • K8s PV和PVC持久化存儲詳解

    K8s PV和PVC持久化存儲詳解

    Kubernetes PV由管理員創(chuàng)建,支持多種存儲類型,提供生命周期管理,PVC請求PV資源,需匹配大小、存儲類和訪問模式,并在同一命名空間,回收策略包括Retain、Delete和Recycle,生產(chǎn)環(huán)境建議使用NAS而非NFS
    2025-08-08
  • k8s中容器創(chuàng)建的全過程實踐

    k8s中容器創(chuàng)建的全過程實踐

    這篇文章主要介紹了k8s中容器創(chuàng)建的全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • k8s之yaml文件的使用及說明

    k8s之yaml文件的使用及說明

    這篇文章主要介紹了YAML文件在Kubernetes中的使用,包括YAML文件的格式、創(chuàng)建資源對象、創(chuàng)建Service服務、查看和測試Service、解釋Kubernetes中的port概念以及如何使用`kubectl`命令生成和修改YAML模板,同時,文章也簡要介紹了如何編寫和訪問MySQL的YAML文件
    2025-11-11
  • kubernetes需要默認的serviceaccount的原因解析

    kubernetes需要默認的serviceaccount的原因解析

    這篇文章主要介紹了kubernetes為何需要默認的serviceaccount,ServiceAccount 是 Kubernetes 中的一種重要概念,它的實際使用場景包括很多,本文給大家講解的非常詳細,需要的朋友可以參考下
    2023-04-04
  • Kubernetes應用配置管理創(chuàng)建使用詳解

    Kubernetes應用配置管理創(chuàng)建使用詳解

    這篇文章主要為大家介紹了Kubernetes應用配置管理創(chuàng)建使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • k8s+jenkins實現(xiàn)自動化部署應用至k8s集群方式

    k8s+jenkins實現(xiàn)自動化部署應用至k8s集群方式

    本文詳細介紹了如何在Jenkins環(huán)境下配置和啟動Jenkins服務,以及如何使用Jenkins進行自動化部署Nginx應用到Kubernetes集群,文章涵蓋了從環(huán)境準備、項目配置、代碼上傳到部署和回滾的全過程,提供了一個完整的自動化部署解決方案
    2026-03-03
  • Kubernetes 1.28.2集群安裝過程中的關鍵步驟詳解(最新推薦)

    Kubernetes 1.28.2集群安裝過程中的關鍵步驟詳解(最新推薦)

    Kubernetes K8s是Google開源的容器編排平臺,最初由Borg項目發(fā)展而來,K8s 1.28版本引入了非正常節(jié)點關閉恢復、內(nèi)置Sidecar容器支持、Job優(yōu)化、Proxy改進和調(diào)度框架優(yōu)化等功能,本文介紹Kubernetes 1.28.2集群安裝過程中的關鍵步驟,感興趣的朋友一起看看吧
    2025-03-03
  • 云原生技術kubernetes(K8S)簡介

    云原生技術kubernetes(K8S)簡介

    這篇文章主要介紹了云原生技術kubernetes的相關資料,幫助大家更好的理解和學習使用K8S,感興趣的朋友可以了解下
    2021-03-03
  • K8s集群中的DNS服務CoreDNS實戰(zhàn)案例詳解

    K8s集群中的DNS服務CoreDNS實戰(zhàn)案例詳解

    在 Kubernetes(K8s)中,DNS 服務是實現(xiàn)服務發(fā)現(xiàn)和 Pod 通信的核心組件之一,用于解決集群內(nèi)資源通過域名而非 IP 地址進行訪問的需求,本文將詳細解析 K8s DNS 服務的原理、組件、配置及應用場景,感興趣的朋友一起看看吧
    2025-06-06
  • K8S中五種控制器的介紹以及使用

    K8S中五種控制器的介紹以及使用

    這篇文章主要給大家介紹了關于K8S中五種控制器及使用的相關資料,控制器 又稱之為工作負載,本文通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-12-12

最新評論

碌曲县| 桃源县| 芒康县| 闵行区| 天峻县| 瓮安县| 南部县| 高碑店市| 垣曲县| 苍梧县| 林芝县| 石柱| 莒南县| 惠东县| 东阳市| 遂溪县| 西和县| 屯留县| 平泉县| 荥经县| 正镶白旗| 林周县| 建德市| 奉节县| 兴安县| 胶州市| 鄯善县| 璧山县| 特克斯县| 灵武市| 乐东| 太和县| 南丹县| 平定县| 旺苍县| 页游| 盘山县| 珠海市| 定安县| 伽师县| 宕昌县|