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

React前端项目服务器运行正常但浏览器无法访问问题排查

排查React项目Ubuntu部署后VPN无法访问的问题

结合你的情况,能ping通服务器但站点无法访问,服务商已开放5173端口,问题大概率不在服务商的端口策略,以下是具体排查方向:

1. 开发服务器绑定地址限制

React开发环境(比如Vite、Create React App)默认会将服务绑定到127.0.0.1,仅允许服务器本地访问,外部(包括VPN连接的客户端)无法连接。

  • 检查启动命令:如果用Vite,修改package.json中的dev脚本为:
    "scripts": {
      "dev": "vite --host 0.0.0.0 --port 5173"
    }
    
    或者启动时直接追加参数:npm run dev -- --host 0.0.0.0
  • 验证监听状态:在Ubuntu服务器执行ss -tulpn | grep 5173,确认输出中的LISTEN地址是0.0.0.0:5173而非127.0.0.1:5173。

2. Ubuntu本地防火墙未放行端口

云服务商的安全组开放端口后,Ubuntu系统自带的ufw防火墙可能仍拦截5173端口:

  • 查看当前防火墙规则:sudo ufw status
  • 如果未看到5173/tcp的允许规则,执行:
    sudo ufw allow 5173/tcp
    sudo ufw reload
    

3. VPN网络层面的限制

能ping通说明基础连通性正常,但VPN的路由、NAT策略或端口限制可能导致流量无法到达5173端口:

  • 追踪端口连通性:在VPN客户端执行(Linux用traceroute -T -p 5173 <服务器IP>,Windows用tracert -d -p 5173 <服务器IP>),查看流量在哪一段中断。
  • 确认VPN策略:有些企业VPN会限制非标准端口(如5173)的流量,需要联系VPN管理员确认是否放行该端口。

4. 运行模式错误(开发vs生产)

如果是生产环境部署,不应使用开发服务器(npm run dev),这类服务器仅用于开发调试,存在访问限制且性能不足:

  • 切换到生产部署流程:
    1. 执行npm run build生成静态文件目录dist
    2. 使用静态服务器部署,比如:
      npm install -g serve
      serve -s dist -l 5173
      
    或者配置Nginx反向代理,将5173端口指向dist目录。

5. 浏览器端问题(缓存/模式限制)

  • 尝试用浏览器隐身模式访问,排除缓存导致的旧地址失效问题。
  • 检查浏览器控制台的网络请求,确认是连接超时还是有其他错误提示,辅助定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 05:16:15