You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EnvoyProxy代理TCP/UDP回显服务无回显问题求助

问题排查与修复方案

错误码111是ECONNREFUSED,说明Envoy无法连接到后端Go服务,核心问题集中在网络连通性和配置匹配上,以下是具体排查点和修复方法:

1. 后端服务地址配置错误

在Envoy的CDS/LDS配置中,若上游地址写的是localhost或127.0.0.1,在Docker Compose环境下,这个地址指向Envoy容器自身,而非Go服务容器。必须改用Compose中定义的服务名称作为地址,比如Go服务在compose.yaml中叫echo-service,就配置为echo-service:8080(TCP端口)或echo-service:8081(UDP端口)。

2. Go服务监听范围限制

Go代码如果监听127.0.0.1:端口,服务仅能在容器内部访问,Envoy无法连接。必须修改为监听0.0.0.0:端口,绑定容器所有网络接口:

// TCP回显服务修正
listener, err := net.Listen("tcp", "0.0.0.0:8080")
// UDP回显服务修正
conn, err := net.ListenUDP("udp", &net.UDPAddr{IP: net.IPv4(0, 0, 0, 0), Port: 8081})

3. Docker Compose网络配置问题

  • 确保Envoy和Go服务在同一个网络中:默认default网络会自动连通所有服务,若自定义了网络,需在compose.yaml中把两个服务都加入该网络。
  • 无需给Go服务配置对外端口映射,只要保证容器内部端口正常暴露,Envoy能通过内部网络访问即可。

4. Envoy协议与监听器配置不匹配

  • TCP服务:需配置tcp_proxy过滤器,集群类型设为STATIC,指定正确的后端地址和端口。
  • UDP服务:必须配置UDP监听器和udp_proxy过滤器,示例配置如下:
# LDS中的UDP监听器片段
listeners:
- name: udp_echo_listener
  address:
    socket_address: { address: 0.0.0.0, port_value: 9001 }
  udp_listener_config:
    idle_timeout: 300s
  filter_chains:
  - filters:
    - name: envoy.filters.network.udp_proxy
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.filters.network.udp_proxy.v3.UdpProxy
        stat_prefix: udp_echo
        cluster: udp_echo_cluster

# CDS中的UDP集群片段
clusters:
- name: udp_echo_cluster
  connect_timeout: 0.25s
  type: STATIC
  lb_policy: ROUND_ROBIN
  load_assignment:
    cluster_name: udp_echo_cluster
    endpoints:
    - lb_endpoints:
      - endpoint:
          address:
            socket_address: { address: echo-service, port_value: 8081 }

5. 服务启动状态验证

  • 查看Go服务容器日志,确认服务成功启动并监听端口:docker logs <go-service-container-id>
  • 检查Envoy容器日志,确认配置加载无错误,集群地址解析正常。

验证步骤

修复后重启服务:

docker-compose down && docker-compose up -d

测试:

  • TCP:nc <envoy-host> <envoy-tcp-port>,输入内容后回车验证回显
  • UDP:nc -u <envoy-host> <envoy-udp-port>,输入内容后回车验证回显

内容的提问来源于stack exchange,提问作者aculnaig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:27:01