Route 53子域名无法正确路由至AWS Elastic Beanstalk环境
排查server.flyout.app指向Elastic Beanstalk应用的超时问题
以下是针对子域名访问卡顿超时问题的分步排查方案:
1. 验证Elastic Beanstalk环境的基础可达性
- 再次确认EB生成的域名可正常访问,执行
curl -v https://<EB环境域名>查看完整请求流程,确保返回200状态码。对比curl -v https://server.flyout.app的输出,定位差异点(比如TCP握手失败、SSL协商卡住) - 检查EC2实例安全组:确保443(HTTPS)和80(若需HTTP跳转)端口的入站规则对
0.0.0.0/0开放;同时确认实例所属子网的网络ACL允许对应端口的入站/出站流量
2. 确认DNS解析的一致性与正确性
- 检查flyout.app的NS记录:执行
dig ns flyout.app,确保所有返回的NS服务器均为Route53托管区提供的地址,无Squarespace的NS残留。NS记录未完全切换会导致解析不一致,引发超时 - 执行
dig +trace server.flyout.app跟踪解析链路,确认每一级DNS返回的记录正确,无过期缓存干扰 - 临时将TTL设置为300秒,切换到CNAME记录指向EB环境域名,等待5分钟后测试访问,排除别名A记录的配置异常
3. 检查Elastic Beanstalk的负载均衡/SSL配置
- 若使用负载均衡:
- 确认HTTPS监听器已绑定包含
server.flyout.app的SSL证书,且转发目标端口与NestJS应用监听端口一致(如3000) - 检查目标组健康状态:若实例状态为不健康,负载均衡会丢弃请求,导致超时
- 确认HTTPS监听器已绑定包含
- 单实例环境:确认实例上已配置SSL证书,NestJS应用监听443端口,或通过EB的
.ebextensions配置代理(如Nginx)将80/443请求转发到应用端口
4. 验证SSL证书有效性
- 执行
openssl s_client -connect server.flyout.app:443,查看证书的SAN字段是否包含server.flyout.app。证书域名不匹配会导致浏览器静默终止请求,表现为卡顿无报错
5. 排查应用层与EB日志
- 检查NestJS应用的端口监听配置,确保与EB的转发规则一致
- 下载EB环境的日志(控制台「日志」选项卡),查看是否有请求到达后的超时、报错记录,比如数据库连接阻塞、内存溢出等问题
内容的提问来源于stack exchange,提问作者Adam Piper
相关产品推荐
相关产品推荐

