Terraform Google Cloud配置虚拟机公网IP出现ERR_CONNECTION_REFUSED问题
ERR_CONNECTION_REFUSED错误说明请求已到达VM公网IP,但VM对应端口没有服务响应,你的Terraform配置中GCP层面的防火墙规则、公网IP绑定、实例标签匹配均无问题,故障出在VM实例内部,按以下步骤排查即可:
- 先验证三层连通性:本地ping VM公网IP,若能通说明GCP网络链路、ICMP防火墙规则均正常
- 登录VM检查端口监听状态:执行
sudo ss -tulnp查看你要访问的端口(如80、443等)是否有进程监听,若监听地址为127.0.0.1则仅支持本地访问,需修改服务配置将监听地址改为0.0.0.0 - 检查Ubuntu内置防火墙规则:Ubuntu 20.04默认开启ufw防火墙,执行
sudo ufw status若状态为active,可执行sudo ufw disable临时关闭验证,或按需放通对应端口 - 检查启动脚本执行状态:查看云初始化日志
sudo cat /var/log/cloud-init-output.log,确认startup.sh没有报错、对应的服务已正常启动 - 本地验证服务可用性:在VM内部执行
curl http://localhost:<对应端口>,若本地无法访问则为服务本身配置问题,与网络无关
额外优化建议:你当前配置中test_internal防火墙规则放通了所有TCP端口对公网开放,存在安全风险,建议将source_ranges改为你的VPC内网段而非0.0.0.0/0。
内容的提问来源于stack exchange,提问作者turbzcoding
相关产品推荐
相关产品推荐

