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

CloudFront间歇性为Route53下子域返回错误SSL证书(ERR_CERT_COMMON_NAME_INVALID)

问题分析与解决方案

背景信息

我在AWS S3存储桶中存放了remoteEntry.js文件,配置CloudFront及自定义SSL证书后,通过https://modules.uat.mysite.com/available-modules/remoteEntry.js加载该文件。

Route53记录配置如下:

Record name: modules.uat.mysite.com
Value: d1rs95wmy2p000.cloudfront.net.
Alias: Yes
Record type: A

问题表现

服务有时正常,有时随机触发SSL错误(ERR_CERT_COMMON_NAME_INVALID),Chrome会显示证书指向负载均衡器的*.mysite.com通配符证书而非CloudFront证书,数分钟后自动恢复。

疑问

即使存在modules.uat.mysite.com这个具体域名记录,*.mysite.com通配符CNAME会不会干扰子域解析?

期望

确保modules.uat.mysite.com始终解析到CloudFront并使用正确证书,不受客户端DNS状态或网络变化影响。

失败请求链路示例

https://apps.uat.mysite.com/dashboards
→ https://apps.uat.mysite.com/main.js
→ https://modules.uat.mysite.com/available-modules/remoteEntry.js?t=..

解答

  1. 通配符记录的优先级规则
    DNS规范明确:具体域名记录的优先级高于通配符记录,正常情况下modules.uat.mysite.com的A别名记录会被优先解析,不会触发*.mysite.com的通配符CNAME。出现随机异常,大概率是以下问题导致:

    • Route53记录冲突:检查是否存在modules.uat.mysite.com的旧记录(比如未删除的CNAME),或同域名下同时存在不同类型的记录;也可能是通配符记录的TTL设置过长,部分客户端缓存了旧解析结果。
    • CloudFront配置疏漏:确认CloudFront分发的备用域名(CNAME)已添加modules.uat.mysite.com,且绑定的SSL证书有效并覆盖该子域;若分发未关联该域名,可能触发 fallback到负载均衡器的逻辑。
    • DNS缓存不一致:部分客户端或本地DNS服务器缓存了过期的解析结果(比如之前该子域曾指向负载均衡器),缓存未更新时就会随机出现错误。
  2. 针对性解决措施

    • 清理冲突记录:在Route53控制台彻底排查modules.uat.mysite.com的所有关联记录,确保只有一条指向CloudFront的A别名记录,删除重复或失效的旧记录。
    • 调整TTL值:将modules.uat.mysite.com的A记录TTL设为较短值(比如300秒),同时缩短*.mysite.com通配符记录的TTL,加快DNS缓存更新速度。
    • 验证CloudFront配置:
      • 确认分发的备用域名列表包含modules.uat.mysite.com;
      • 检查SSL证书是否覆盖该子域(单域名证书或包含该子域的通配符证书均可),且证书已完成域名验证;
      • 确认CloudFront源配置正确指向目标S3存储桶,避免因源访问失败触发异常 fallback。
    • 强制刷新DNS缓存:让受影响的客户端执行本地DNS缓存刷新(Windows用ipconfig /flushdns,macOS用sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder),同时联系DNS服务商确认全局缓存同步情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:12:11