React应用部署Hostinger后无法连接Node.js VPS服务器求助
解决React生产环境无法访问Node.js服务器的问题
核心问题原因
你在package.json里配置的proxy字段只在React开发环境(npm start)生效,生产构建(npm run build)后这个配置不会被打包到静态资源中,所以部署到Hostinger虚拟主机后完全不起作用。
具体解决方案
1. 直接在React代码中使用完整API地址
- 修改所有请求的URL,把相对路径(比如
/api/getData)替换成Node.js服务器的完整地址,格式为http://45.132.240.106:你的端口/api/getData - 必须确认:
- Node.js服务器监听的端口已在Hostinger VPS的防火墙中放行
- 服务器配置了CORS,允许
https://cubexpro.net域名发起跨域请求(可以用corsnpm包快速配置)
2. 配置虚拟主机反向代理(推荐)
利用Hostinger虚拟主机的反向代理功能,把前端域名下的API请求转发到Node.js服务器,这样不需要修改React代码:
- 登录Hostinger虚拟主机控制面板,找到
Apache Configuration或Redirects选项(不同主机界面可能略有差异) - 添加反向代理规则:将
https://cubexpro.net/api/*转发到http://45.132.240.106:你的端口/api/* - 配置完成后,React代码里依然可以用相对路径
/api/getData发起请求,同时避免跨域问题
3. 检查Node.js服务器的关键配置
- 确保服务器监听地址是
0.0.0.0而不是localhost,否则VPS外部无法访问 - 确认服务器正常启动,没有端口占用或报错
- 如果用Nginx托管Node.js服务,要确保Nginx配置正确转发请求,并且添加了CORS相关的响应头
内容的提问来源于stack exchange,提问作者Films LoVeR
相关产品推荐
相关产品推荐

