#60479·istio

在主体流完成之前连接终止时,503UC 返回

作者: Stono创建于 2026年6月5日更新于 2026年9月17日
标签area/networkinglifecycle/stale

是否这是提交此问题的正确地方? - [x] 这不是一个安全漏洞或崩溃的错误 - [x] 这不是关于如何使用 Istio 的问题 - ### 问题描述 你好, 我相信我已经成功地重现了 503UC 问题。 给定以下设置: client(curl) -> [ingress 负载均衡器 -> 出站侧车] -----> [入站侧车 -> 应用程序] ```

curl -i -X POST https://myapp/upload
-F "[email protected]" 在我的示例中,`client` 正在流式传输 3mb 的多部分请求。 `application` 正在读取请求头(在消耗主体之前)并拒绝请求。 本地,这返回了预期的 401。 但是在部署(并随后通过 istio 前置)时,我们会间歇性地收到 503。 我运行了 ksniff 在集群上,并且可以清楚地看到我们在本地看到的相同行为,即应用程序向代理返回 401 并终止连接: <img width="3456" height="682" alt="Image" src="https://GitHub.com/user-attachments/assets/2432ba5f-e8b7-4131-8a8f-56fa4f1ab488" /> 但是我们收到的响应是来自 envoy 的 503: <img width="1630" height="452" alt="Image" src="https://GitHub.com/user-attachments/assets/eba0b046-b534-45fe-a40a-cf0c3b1aaa92" /> 这一点在入站侧车日志中也得到了证实: {"time":"2026-06-05T11:32:08.443369Z","level":"debug","scope":"envoy misc","msg":"Unknown error code 32 details Broken pipe","caller":"external/envoy/source/common/network/io_socket_error_impl.cc:64","thread":"29"} {"time":"2026-06-05T11:32:08.443373Z","level":"debug","scope":"envoy connection","msg":"closing socket: 0","caller":"external/envoy/source/common/network/connection_impl.cc:313","thread":"29","ConnectionId":"521"} {"time":"2026-06-05T11:32:08.443379Z","level":"debug","scope":"envoy connection","msg":"onBelowWriteBufferLowWatermark","caller":"external/envoy/source/common/network/connection_impl.cc:631","thread":"29","ConnectionId":"521"} {"time":"2026-06-05T11:32:08.443384Z","level":"debug","scope":"envoy http","msg":"Read-enabling downstream stream due to filter callbacks.","caller":"external/envoy/source/common/http/conn_manager_impl.cc:2065","thread":"29","ConnectionId":"520","StreamId":"245721652559981291"} {"time":"2026-06-05T11:32:08.443396Z","level":"debug","scope":"envoy http2","msg":"Stream 1 enabled, unconsumed_bytes 1047100 read_disable_count 1","caller":"external/envoy/source/common/http/http2/codec_impl.cc:535","thread":"29","ConnectionId":"520"} {"time":"2026-06-05T11:32:08.443425Z","level":"debug","scope":"envoy client","msg":"disconnect. resetting 1 pending requests","caller":"external/envoy/source/common/http/codec_client.cc:115","thread":"29","ConnectionId":"521"} {"time":"2026-06-05T11:32:08.443430Z","level":"debug","scope":"envoy client","msg":"Request reset. Reason 7","caller":"external/envoy/source/common/http/codec_client.cc:167","thread":"29","ConnectionId":"521"} {"time":"2026-06-05T11:32:08.443436Z","level":"debug","scope":"envoy