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

Vite+React前端调用EKS私有Node后端超时排查求助

问题原因分析

核心差异:请求发起环境不同

容器内执行curl <backend_url>/colors是从前端容器所在的AWS网络环境发起请求,而前端应用的API调用是从用户的浏览器本地网络发起请求——这两个环境的网络可达性完全不同。你的后端部署在私有EKS集群,其地址(私有IP、EKS内部Service域名等)仅能在AWS VPC内部访问,用户浏览器处于公网,自然无法直接连接,导致超时。

其他可能的关联原因

  1. 前端API地址配置错误:代码中硬编码了后端的私有地址,而非公网可访问的入口地址(如ALB/NLB域名、API Gateway地址)。
  2. 生产环境代理未生效:Vite的proxy配置仅在开发环境(vite dev)有效,生产构建后静态文件无代理能力。若依赖容器内代理但配置错误(如Nginx反向代理规则不匹配、转发地址错误),会导致浏览器直接请求私有地址超时。
排查步骤
  • 检查浏览器实际请求地址:打开浏览器开发者工具→Network面板,查看API请求的Target地址。如果是私有IP或EKS内部域名,直接确认是地址不可达问题。
  • 验证公网对后端地址的可达性:在本地浏览器直接访问<backend_url>/colors,若无法打开,说明后端未暴露到公网,需配置公网入口(如AWS ALB/NLB、API Gateway)。
  • 检查后端暴露方式:确认私有EKS集群的Node API是否通过公网负载均衡或API Gateway对外暴露,且安全组允许公网流量访问该入口。
  • 验证生产代理配置(若使用):
    • 若用Nginx作为前端容器的反向代理,检查nginx.conf中的转发规则,确保location /api(或对应路径)正确指向后端私有地址,且Nginx容器能正常转发(可在容器内测试curl localhost/api/colors是否返回结果)。
    • 前端代码需修改为请求相对路径(如/api/colors),而非直接请求后端私有地址。
  • 确认VPC网络边界:前端容器所在的公网子网虽能访问EKS私有子网,但用户浏览器不在AWS VPC内,无法直接访问私有资源——必须通过公网入口中转请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 00:37:43