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

如何连接分别部署在AWS Elastic Beanstalk的前端与后端服务

解决方案

为什么直接用EC2公网IPv4连接会失败

首先EB管理的EC2实例公网IP是动态分配的,实例重启、环境重建、伸缩组扩缩容都会变更IP,本身就不适合作为固定连接地址。其次默认安全组不会主动放开后端服务端口的公网入站规则,公网请求会被直接拦截。

两种正确配置方案

方案1:同VPC内网通信(优先推荐,适配你两台实例同安全组的场景)

同VPC内通信不需要走公网,延迟更低、安全性更高,配置步骤如下:

  • 打开AWS Elastic Beanstalk控制台,进入Nest.js后端对应的环境,在「环境概览」页直接获取环境URL,格式为<环境名>.<区域>.elasticbeanstalk.com,该域名固定不变,不受底层EC2实例变更影响。
  • 调整公共安全组的入站规则:添加一条规则,来源选择当前安全组本身,协议为TCP,端口填写Nest.js服务监听的端口(如3000、8080等),允许同安全组内的服务互相访问。
  • 确认Nest.js服务绑定的是0.0.0.0而非127.0.0.1,否则内网请求无法被接收。
  • Next.js的服务端请求直接配置上述环境URL作为API地址即可;如果是客户端侧请求需要调用后端,可额外配置前端Next.js服务做API请求代理,不需要把后端暴露到公网。

方案2:公网访问配置(适合需要前端客户端直接调用公网API的场景)

  • 同样优先使用上述Nest.js后端的EB环境URL作为API地址,不要使用EC2公网IP。
  • 调整安全组入站规则:添加规则,来源填0.0.0.0/0(或你需要放行的公网网段),协议TCP,端口为后端服务监听端口。如果你的EB环境配置了应用负载均衡(ALB),需要同步给ALB的安全组放开对应端口。
  • 验证后端服务的健康检查状态正常,没有被EB自动下线。

连通性验证

可以直接登录到Next.js对应的EC2实例,执行curl命令测试连通性,确认链路正常后再修改前端配置:

curl <你的后端EB环境URL>:<端口>/<健康检查路由>

如果返回正常响应说明链路没问题,前端配置后即可正常通信。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:57:02