最近项目环境的SpringCloud网关在转发某服务请求时,发现总是没有响应。 排查了很久才发现,在SpringCloud网关所在docker容器内执行 curl -v 'http://目标服务地址'时,显示无法建立tcp连接(卡着没响应) root@26825633119e:/# curl -v 'http://10.1.39.119:38080' * Trying 10.1.39.119:38080... * TCP_NODELAY set * connect to 10.1.39.119 port 38080 failed: Connection timed out * Failed to connect to 10.1.39.119 port 38080: Connection timed out * Closing connection 0 curl: (28) Failed to connect to 10.1.39.119 port 38080: Connection timed out 具体就是: 10.1.39.119:38080 端口通过docker容器开了一个服务; 在10.1.39.119 这台主机上面,可以访问 在其他主机 上面, 也可以访问 在其他主机的 docker容器内,也可以访问 但是奇怪就奇怪在, 在 10.1.39.119 上的所有docker容器里,都访问不到 38080 这个端口。 但是 还是10.1.39.119这台机器的docker容器里, 却能访问 这台机器上的 其他服务端口, 比如7100 等等 这会是什么原因呢?防火墙吗?要怎样排查呢?感谢! 补充,10.1.39.119:38080 这个服务的docker-compose文件,如果把 38080端口改成其他小一点的端口号,比如9750, 其他环境的访问就完全正常了。会是什么原因呢?见鬼了