Node.js服务无法连接Google Cloud Platform(GCP)服务器如何解决
GCP Node.js服务连接报错
connection refused排查步骤 1. 检查GCP平台侧防火墙配置
- 登录GCP控制台进入对应虚拟机所属的VPC网络防火墙规则页,确认目标端口已配置入站规则,规则允许对应来源IP的TCP/UDP访问请求
- 确认虚拟机已绑定对应防火墙规则的网络标签,避免规则未对当前虚拟机生效
2. 验证Node.js服务监听配置
- 检查服务监听地址是否配置为
127.0.0.1,该地址仅支持本地访问,需修改为0.0.0.0才能接收外部请求,示例代码:app.listen(目标端口, '0.0.0.0', () => { console.log('服务启动成功') }) - 登录GCP虚拟机本地执行
curl localhost:目标端口测试,若本地访问无响应说明服务本身启动异常,和网络配置无关 - 执行
netstat -tulpn | grep 目标端口查看端口监听状态,确认监听地址为0.0.0.0:目标端口或:::目标端口,而非仅本地回环地址监听
3. 网络连通性排查
- 从你发起连接的设备上执行
nc -zv GCP虚拟机公网IP 目标端口或telnet GCP虚拟机公网IP 目标端口测试端口可达性 - 临时关闭虚拟机系统防火墙验证:执行
sudo ufw disable测试连接,确认是否是系统防火墙规则配置遗漏导致拦截,测试完成后记得重新开启防火墙 - 核对GCP虚拟机的公网IP是否发生变动,避免用过期IP发起连接请求
4. 环境兼容性排查(适配Ubuntu 18.04.5 LTS + Node.js 10.24.1环境)
- 前台启动Node.js服务查看控制台输出,确认服务启动过程无端口占用、权限不足类报错
- 若使用1024以下的端口,需加
sudo用root权限启动服务,否则会触发端口绑定失败 - 执行
tail /var/log/syslog查看系统日志,排查是否有安全类组件拦截端口访问的日志记录
内容的提问来源于stack exchange,提问作者py.ino
相关产品推荐
相关产品推荐

