docker-compose v1.27.4下Envoy v1.17.0转发API报连接终止错误
Envoy v1.17.0 API网关转发连接终止问题
基础部署信息
- 运行环境:docker-compose v1.27.4
- 网关组件:Envoy v1.17.0
- 后端服务:2个独立部署的.NET 5服务(tags、docs)
- 网关对外监听端口:10080
- 路由策略:基于路径前缀
/t/、/d/分别将请求转发至tags、docs后端服务
故障表现
外部客户端访问网关的转发路径时,固定返回报错:upstream connect error or disconnect/reset before headers. reset reason: connection termination
典型触发场景为访问http://localhost:10080/t/api/Cats无法获取正常接口响应。
已完成的排查验证项
- 本地桌面端可通过
http://localhost:[后端服务端口]、http://host.docker.internal:[后端服务端口]正常直连后端服务 - Envoy容器内可正常解析后端服务对应的docker-compose内部网络IP
- Envoy容器内直接执行
curl http://localapp-tags/api/Cats可成功获取接口响应 - Envoy内置管理页面可正常访问
- 外部客户端通过网关10080端口访问所有配置的转发路由,均触发上述连接终止报错
已尝试的无效修复操作
- 对照Envoy官方静态配置、前端代理示例、eShopOnContainers参考架构、ASP.NET Core Docker部署文档及相关技术视频教程校验配置逻辑
- 调高网关侧的
connection_timeout参数阈值 - 为所有容器配置docker-compose统一命名网络
用于问题定位的参考材料
- 完整的
docker-compose.yaml编排配置 - 完整的
envoy.yaml网关路由配置 - Envoy全链路跟踪日志
内容的提问来源于stack exchange,提问作者ACG
相关产品推荐
相关产品推荐

