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

配置ALB后AWS Elastic Beanstalk默认域名仍可公网访问的排查与解决

问题原因及解决方案

核心原因

1. EB环境自带的托管负载均衡仍对外提供服务

部署多可用区EB应用时,EB会自动创建并绑定一个负载均衡(默认是经典负载均衡CLB,或按需配置为ALB)。你手动添加的是独立自定义ALB,但EB默认URL始终指向EB托管的负载均衡,而非你自定义的ALB。如果该托管负载均衡的安全组允许公网入站流量,且实例安全组sg-1仍允许该托管负载均衡的访问,就会导致默认URL可被公网访问。

2. 实例安全组配置存在疏漏

  • 你可能仅更新sg-1以允许自定义ALB的IP段,但未移除sg-1中对EB托管负载均衡安全组的访问权限;
  • 若EB托管负载均衡部署在公有子网,其安全组未限制公网访问,公网流量可通过该负载均衡到达实例。

3. 实例被意外分配公网IP

尽管实例部署在私有子网,但如果EB环境的实例配置中开启了自动分配公网IP选项,实例会获得公网IP。此时EB默认URL可能直接解析到实例的公网IP,若sg-1未彻底阻断对应端口的公网入站流量,就会出现公网可访问的情况。

解决步骤

步骤1:确认EB默认URL的指向

通过nslookup或dig命令查询EB默认URL的解析结果:

nslookup your-environment-name.region.elasticbeanstalk.com

如果解析到的是EB托管负载均衡的IP,说明问题出在该托管负载均衡上。

步骤2:调整EB托管负载均衡的配置

如果仅需通过自定义ALB访问应用,可选择以下操作:

  • 替换EB托管负载均衡:通过EB控制台进入环境配置的「负载均衡」选项,将负载均衡类型切换为你自定义的ALB;
  • 限制托管负载均衡的公网访问:找到EB托管负载均衡对应的安全组,移除所有允许公网入站的规则(如0.0.0.0/0或::/0),仅保留必要的内部流量规则。

步骤3:修正实例安全组sg-1的规则

  • 移除sg-1中所有允许EB托管负载均衡安全组访问的规则;
  • 确保sg-1仅允许自定义ALB的私有IP段或其安全组访问实例的应用端口(如80/443);
  • 彻底删除sg-1中任何允许公网访问的规则(包括优先级较高的遗留规则)。

步骤4:检查实例的公网IP配置

进入EC2控制台,查看EB实例的网络配置:

  • 若实例被分配了公网IP,关闭EB环境的「自动分配公网IP」选项(通过EB控制台的「配置」->「实例」->「实例选项」修改);
  • 手动释放实例绑定的弹性IP(若有)。

步骤5:验证配置

完成上述操作后,再次测试EB默认URL的访问情况,确认无法从公网访问;同时验证自定义ALB域名仍可正常访问应用。

内容的提问来源于stack exchange,提问作者sowndar k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:32:38