Google Cloud VM通过SSH执行curl访问本地7076端口提示Connection refused求助
问题排查方向
核心原因(概率最高)
你的ss输出显示7076端口仅监听IPv6回环地址[::1],未监听IPv4回环地址127.0.0.1:
- 绝大多数Linux系统默认会将
localhost优先解析到IPv4地址127.0.0.1 - 你执行的curl命令默认走IPv4协议,自然无法连接到仅监听IPv6回环的7076端口
验证方法
执行指定IPv6协议的curl命令测试连通性:
curl -X POST --data '{"action": "benchmark"}' [::1]:7076
如果该命令返回正常结果,即可确认是IPv4/IPv6解析优先级导致的问题。
其他可能排查方向
- 服务运行状态异常
执行命令查看7076端口对应的进程是否正常存活:
sudo lsof -i :7076
如果查询不到对应进程,说明服务已经异常退出,可查看服务日志排查崩溃原因后重启服务。
- 虚拟机内部防火墙拦截
GCP VPC防火墙的default-allow-internal规则仅控制外部流量进入虚拟机,不影响虚拟机本地回环访问,但需确认虚拟机内部的iptables规则是否拦截了7076端口:
sudo iptables -L INPUT -n | grep 7076
如果有拦截规则,添加对应放行规则即可。
解决方案
- 如果仅需要本地访问7076端口:
- 要么每次请求指定
[::1]作为访问地址 - 要么修改服务配置,让服务同时监听IPv4回环
127.0.0.1和IPv6回环[::1]
- 要么每次请求指定
- 如果需要允许同VPC内其他实例访问7076端口:
修改服务配置,将监听地址改为0.0.0.0(IPv4全地址)或::(IPv6全地址,兼容IPv4)即可,此时已经配置的default-allow-internal规则会自动放行同VPC内的访问请求。
内容的提问来源于stack exchange,提问作者Ced
相关产品推荐
相关产品推荐

