老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

使用nginx的ingress時遇到的502問題怎么解決

今天小編給大家分享一下使用nginx的ingress時遇到的502問題怎么解決的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

創新互聯服務項目包括睢陽網站建設、睢陽網站制作、睢陽網頁制作以及睢陽網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,睢陽網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到睢陽省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

啟用 keep-alive,502 響應增加

nginx-ingress-controller 0.20 之前的版本存在一個 bug,配置模版 nginx.tmpl 中沒有在啟用 keep-alive 時清除請求中的 “Connection: close”,反而是為所有轉發給 upstream 的 http 請求加上了該請求頭:

使用nginx的ingress時遇到的502問題怎么解決

image

應該是

使用nginx的ingress時遇到的502問題怎么解決

image

因為該 bug 的存在, 0.20 之前的版本即使在 config-map 中配置了 keep-alive,nginx 與 pod 之間的 http 通信依舊是短連接,每產生一個請求就建立一個連接。連接利用效率低,并且大量連接處于 time-wait 狀態,浪費了數量有限的本地端口。

發現該問題后,我們進行了及時修復,然后問題來了。

nginx 的請求日志顯示,keep-alive 真正生效以后,502 響應的數量有所增多,大部分業務系統對此不敏感,但有個別系統因 502 響應而頻繁告警,這些系統在 keep-alive 沒有生效之前,沒有遇到 502 響應。

調查工作開始。

502 響應占比很少很少,并且出現的時機不明,一開始毫無頭緒,通過翻閱 nginx 的日志和分析抓取的部分報文發現,出現 502 響應時,nginx 向 upstream 轉發請求后,立即收到了 RST 報文:連接被 pod 斷開了

Nginx 轉發給 Pod 的請求中指定了 keep-alive,連接也持續了較長時間,來回有過多次請求了,為什么會突然被 Pod 斷開連接呢?

各種胡思亂想之后,將目標鎖定為在 Pod 中運行的業務系統。在 Pod 中運行的業務系統是一個 tomcat 服務,tomcat 本身就是一個請求代理軟件。

事實上,客戶端發起的請求經過了兩次代理,第一次由 nginx 代理到 Pod 中的 tomcat,第二次由 tomcat 代理到處理該請求的進程。

翻看 tomcat 的配置手冊時,發現 tomcat 有幾個和 nginx 類似的配置,它們分別指定了長連接的閑置超時時間(keepAliveTimeout)和長連接中的請求數量上限(maxKeepAliveRequest)。

使用nginx的ingress時遇到的502問題怎么解決

image

使用nginx的ingress時遇到的502問題怎么解決

image

很巧的是,這兩個配置項的默認值和 nginx 中類似配置的默認值相同,都是連接閑置 60s 秒后斷開,以及連接中請求數量達到 100 后,斷開連接。那么問題來了,nginx 和 tomcat 誰會先斷開連接?

從捕獲的報文來看,有時候是 tomcat 先斷開的,nginx 后知后覺依舊轉發請求,結果收到了 RST 大禮包,繼而回應 502。502 錯誤碼含義正是:上游返回了非預期的數據。

隨后我們分析了另一個有同樣問題的 python 服務,這個 python 服務也不是直接監聽端口處理請求的,而是用 Gunicorn 代理。查了一下 Gunicorn 的默認配置,更夸張,它的連接閑置超時時間是 2 秒!

分析該 python 服務的報文時還在納悶,為什么它的連接很快就斷開?一度讓我們懷疑前面的假設,直到發現它的默認超時時間是 2 秒,才釋然:報文顯示,連接正是在閑置 2 秒之后,被 Pod 端主動斷開的!

使用nginx的ingress時遇到的502問題怎么解決

image

要避免 Pod 先斷開連接,方法其實很簡單,讓 nginx 中的相關配置小于 Pod 中的代理軟件的相關配置即可。譬如tomcat 的 maxKeepAliveRequest 是 100,那么 nginx 中配置成 99,確保連接是被 nginx 主動斷開的。

這里只大概說明一下原委,查看當時的調查記錄,點擊「閱讀原文」。

另外還有一個 504 的問題,504 其實是 kube-apiserver 的配置錯誤導致的,因為配置錯誤導致 endpoints 沒有及時更新,繼而導致 nginx 的配置文件沒有更新。

Nginx 的 upstream 配置中的 IP 地址早已不存在,或者已經分配給其它 Pod,從而導致客戶端收到 504 響應或者得到的是另一個服務的響應。

以上就是“使用nginx的ingress時遇到的502問題怎么解決”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注創新互聯行業資訊頻道。


網頁題目:使用nginx的ingress時遇到的502問題怎么解決
文章位置:http://www.xueling.net.cn/article/joejjg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲精品小区久久久久久 | 天天碰天天操视频 | 中文字幕国 | 国产一级淫片在线观看 | 国产精品一区久久看 | 精品国产2区| 51无码人妻精品1国产 | 日韩一区免费视频 | 少妇中文字幕乱码亚洲影视 | 日本道最新高清不卡二区 | 风流老太婆大BBWBBWHD视频 | 亚洲首页av| 国产精品呻吟 | 在线免费黄色毛片 | 国产亚洲亚洲高清视频 | 欧美真人性做爰一二区 | 国产精品久久久久一区二区 | 国产裸舞福利在线视频合集 | av在线最新| 国产亚洲精品久久久网站好莱 | 新白娘子传奇50集免费赵雅芝版 | 麻豆一区二区三区精品视频 | 69精品人人槡人妻人人玩 | 国产精品无码翘臀在线看 | 高清无码视频直接看 | 亚洲精品美国一 | 师兄啊师兄在线 | 97se狠狠狠狼鲁亚洲综合网 | 亚洲美女一级毛片 | 最新国产福利 | 女子初尝黑人巨嗷嗷叫 | 国产精品尹人在线观看 | 免费视频专区一国产盗摄 | 掏空网午夜 | 久久久麻豆精品 | 91人人视频在线观看 | 女邻居的大乳中文字幕 | 国产精品一区二区在线 | 美女视频黄a视频全免费网站一区 | 91久久久久久久久久久久 | www日本黄色 |