簡體   English   中英

Spring Boot 3.0 + AKS = 始終為 200,響應為空

[英]Spring Boot 3.0 + AKS = always 200 with empty response

在將微服務從 2.7.x 版本升級到 Spring Boot 3.0 后,我遇到了一個非常奇怪的情況,請求您的幫助。

微服務部署在 AKS 集群上,當我使用任何 cookie從上下文根調用微服務公開的任何端點時,我總是獲得 http 狀態代碼 200 - OK,響應為空,而不是我期望的響應; 當我調用未由微服務公開的端點時,這也會發生在我身上。 相反,如果我在沒有 cookies的情況下調用相同的端點,則一切正常。

但是,當我使用新的 Spring 引導版本 (3.0.0) 在本地測試微服務端點(在本地調試中啟動)時,或者當我將微服務回滾到之前的 Spring 引導版本 (2.7.x) 並將其部署在 AKS 集群上時,一切工作正常,無論有沒有 cookies。

所以我不明白“問題”是在 Spring 啟動框架更新還是 AKS/istio(kube 入口)上。

為了清楚起見,這里有一些例子:

curl --request GET --url http://localhost:8080/endpoint -H "cookie: key=test"
{"out": "value"}

curl --request GET --url http://localhost:8080/endpoint
{"out": "value"}

還行吧!

curl --request GET --url http://my.ingress.com/context-root/endpoint -H "cookie: key=test"
(200 with empty response)

curl --request GET --url http://my.ingress.com/context-root/endpoint
{"out": "value"}

這很奇怪

你是我最后的希望::D 非常感謝

上周我們遇到了同樣的問題,但使用的是 ECS 集群。 您是否碰巧在您的服務中部署了DataDog 跟蹤代理 有人遇到了類似的問題,他們的解決方案是將代理版本升級到 1.3.0 我們將代理升級到 1.4.0 並解決了我們的問題。

如果我不得不猜測,根本原因可能會追溯到這個變化

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM