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

AWS Elastic Beanstalk自定义域名与Route 53托管区配置异常问题

问题成因分析

1. DNS配置核心逻辑错误:Route53记录未生效

你的域名托管在Cloudflare,意味着域名的权威DNS服务器是Cloudflare提供的,而非AWS Route53。此时你在Route53中创建的任何A/CNAME记录都不会被全球DNS解析器读取——互联网上的DNS查询只会向Cloudflare的服务器请求解析结果。这直接导致部分DNS服务器缓存了旧的EC2 IP记录,另一部分因Cloudflare配置缺失返回错误IP,最终出现解析不一致的情况。

2. Cloudflare代理模式与EB环境SSL配置冲突

若你在Cloudflare中开启了橙色云代理模式,Cloudflare会将域名解析到自身的边缘节点IP(即你dig命令返回的两个IP)。此时需确保Cloudflare的SSL模式与EB的Nginx配置匹配:

  • 由于EB的Nginx强制将HTTP跳转至HTTPS,Cloudflare的SSL模式需设置为Full或Full (Strict),而非Flexible。若使用Flexible模式,Cloudflare会以HTTP请求EB服务器,触发Nginx的301跳转至HTTPS,形成循环跳转导致无法访问。
  • 需确认Cloudflare已正确配置SSL证书(可使用Cloudflare免费证书,或上传EB上用Certbot获取的证书)。

3. Elastic Beanstalk别名记录指向对象错误

若你的EB环境是负载均衡型架构,在配置别名A记录时(无论在Route53还是Cloudflare),应指向EB环境对应的Application Load Balancer (ALB),而非直接指向EB环境的域名。错误指向EB的CNAME可能导致解析逻辑异常,再结合Cloudflare托管域名的前提,进一步放大了问题。

4. DNS缓存与传播延迟

即使修正了Cloudflare的DNS记录,部分本地DNS服务器或Cloudflare边缘节点可能仍缓存旧解析结果(比如之前的EC2 IP),导致不同地区解析结果不一致。这种情况需等待DNS缓存过期(设置TTL为5-10分钟可加速传播),或手动刷新Cloudflare的DNS缓存。

5. Elastic Beanstalk环境的安全组/负载均衡器监听配置

虽然你能通过IP访问应用,但需确认EB负载均衡器的监听规则是否正确映射80/443端口到EC2实例的对应端口(通常是80或8000,取决于Laravel配置)。另外,若Cloudflare边缘节点IP未加入EB环境的安全组允许列表,可能导致部分请求被拦截。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:15:28