我尝试在计算引擎上运行UDP服务器。我有一个运行go程序的Docker镜像,非常类似于这个(https://github.com/felipejfc/go-udp-echo-server/blob/master/main.go),我在容器优化操作系统上的计算引擎中运行它,并通过负载均衡器配置网络。
负载均衡器->托管实例组
当我ssh到计算引擎实例并发送数据包时,它可以正常工作
nc -u localhost 10001
# this echos!但是,当我从我的机器上发送UDP数据包时
nc -u <loadbalancer_ip> 10001我可以看到UDP包到达我的服务器(我在执行ServerConn.WriteTo之后立即将日志添加到我的程序中),但是我没有从服务器得到任何响应。这可能是什么原因呢?
编辑:当我将负载均衡器IP从它自己的盒子中连接到负载均衡器IP时,它会回显。
nc -u <loadbalancer_ip> 10001
# this echos from VM, but not from my local machine..发布于 2020-10-10 12:32:39
这是因为当请求到达我的负载均衡器IP时,我绑定到0.0.0.0。我必须绑定到负载均衡器IP - https://serverfault.com/questions/768681/udp-server-behind-gcloud-load-balancer-receive-ok-reply-fails
https://stackoverflow.com/questions/64287174
复制相似问题