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

Google Compute Engine上Node.js运行正常但浏览器无法访问如何解决?

问题排查与解决方案

1. 先确认Google Compute Engine(GCE)端口限制问题

  • 登录GCP控制台,进入VPC网络-防火墙页面,检查对应VPC的入站规则是否开放了以下端口的TCP协议访问:
    • 需直接访问3000端口:开放3000端口,来源IP设为0.0.0.0/0(允许所有IP访问)或你自己的客户端公网IP
    • 需通过域名访问:开放80、443端口,来源IP同上
  • 确认你的GCE实例绑定了公网IP,且域名api.mydomain.id、www.api.mydomain.id的DNS解析已指向该公网IP。

2. 检查Ubuntu系统本地防火墙规则

  • 执行命令查看ufw防火墙状态:sudo ufw status
  • 如果状态为active,执行以下命令开放对应端口:
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    # 需直接访问3000端口的话执行下一行
    sudo ufw allow 3000/tcp
    sudo ufw reload
    

3. 修复Apache配置问题

  • 首先启用Apache必需的代理模块:
    sudo a2enmod proxy proxy_http rewrite
    sudo systemctl restart apache2
    
  • 你当前的80端口配置配置了强制HTTPS跳转,但缺少对应的443端口虚拟主机配置,会导致跳转后无服务响应,需要补充443端口的SSL配置,示例如下:
    <VirtualHost *:443>
        ServerAdmin admin@mydomain.id
        ServerName api.mydomain.id
        ServerAlias www.api.mydomain.id
        
        ProxyPass / http://localhost:3000/
        ProxyPassReverse / http://localhost:3000/
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        
        # 配置SSL证书,可使用certbot申请免费证书自动配置
        SSLCertificateFile /path/to/your/fullchain.pem
        SSLCertificateKeyFile /path/to/your/privkey.pem
    </VirtualHost>
    
  • 配置完成后执行sudo apache2ctl configtest检查配置语法是否正确,确认无错后执行sudo systemctl reload apache2重载配置。

4. 确认Node.js服务绑定地址

  • 检查你的app.js中监听端口的代码,如果是如下写法仅允许本地访问:
    app.listen(3000, '127.0.0.1')
    
    改为允许所有地址访问:
    app.listen(3000, '0.0.0.0')
    
    修改后重启nodemon/pm2服务。

5. 本地连通性测试

在GCE实例本地执行以下命令逐层排查连通性:

  • 测试Node服务本地可访问:curl http://localhost:3000
  • 测试Apache代理本地可访问:curl http://localhost
  • 测试公网端口可访问:curl http://你的实例公网IP:3000、curl http://你的实例公网IP

以上步骤全部完成后,即可正常通过api.mydomain.id访问你的Node服务,需要直接访问3000端口的话确认前两步的端口开放配置即可。

内容的提问来源于stack exchange,提问作者Kodingan Anak Muda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:06:04