You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调整Google Cloud Functions权限后VM上Node.js服务器崩溃排查

问题排查方向与可能原因

一、VM本地网络防火墙限制

检查虚拟机自身的内部防火墙(如iptables或ufw),是否存在阻止出站流量的规则:

  • 执行iptables -L -n查看所有iptables规则,确认是否有DROP或REJECT出站流量的条目
  • 执行ufw status查看Ubuntu/Debian系统的防火墙状态,检查出站规则是否被修改

二、子网级网络配置异常

  1. 出站ACL:检查VM所在子网的出站访问控制列表(ACL),确认是否新增了限制特定端口(如MongoDB的27017/443端口)或所有出站流量的规则
  2. 路由表:查看子网关联的路由表,确认默认路由(指向互联网的0.0.0.0/0路由)是否存在且未被修改,若默认路由缺失或指向错误,会导致VM无法访问公网

三、DNS解析故障

VM无法解析外部域名会导致所有外部连接失败:

  • 在VM上执行ping <你的MongoDB主机名>或nslookup <你的MongoDB主机名>,若能ping通IP但无法解析域名,说明DNS配置异常
  • 检查VM的DNS设置,确认是否被修改为自定义DNS服务器,或尝试手动设置公共DNS如8.8.8.8测试

四、VPC服务控制限制

若误将VM所在VPC加入VPC Service Controls的服务边界,会限制VM对外访问:

  • 检查GCP控制台中VPC Service Controls的配置,确认VM所在VPC是否被包含在服务边界内

五、网络标签变更

若修改了VM的网络标签,可能导致原有防火墙规则(基于标签匹配)失效:

  • 查看VM的网络标签,确认与之前正常运行时一致,且防火墙规则的目标标签包含当前VM的标签

六、Node.js环境代理配置问题

检查VM的环境变量或Node.js代码是否被添加了无效的代理配置:

  • 执行echo $HTTP_PROXY和echo $HTTPS_PROXY,确认是否存在错误的代理设置
  • 检查Node.js代码中是否硬编码了代理参数,导致连接被路由到不可用的代理服务器

七、TLS证书验证失败

VM上的CA证书缺失或失效可能导致MongoDB TLS连接失败:

  • 在VM上执行curl -v https://<你的MongoDB主机>:<端口>,查看是否有证书验证错误提示
  • 尝试在MongoDB连接字符串中临时添加tlsAllowInvalidCertificates=true(仅用于测试),若能正常连接,说明VM的CA证书需要更新或重新安装(如执行apt install --reinstall ca-certificates)

内容的提问来源于stack exchange,提问作者SleepyWakes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 20:04:52