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

AWS S3+CloudFront+Route53架构下https://www.example.com跳转失效求助

排查HTTPS访问www.example.com失败的问题

我之前处理过好几个类似的案例,结合你的场景(http://www.example.com能正常跳转,但https://www.example.com不行),核心问题大概率出在CloudFront的配置上,咱们一步步来梳理:

1. 检查CloudFront的SSL证书绑定

这是最常见的原因:

  • 首先确认你有没有为www.example.com单独配置CloudFront分配,或者它和example.com共用同一个分配?
    • 如果是共用一个分配:检查分配的Alternate Domain Names (CNAMEs) 是否同时包含example.com和www.example.com,并且Custom SSL Certificate选择的是你那覆盖*.example.com和example.com的ACM证书。
    • 如果是两个独立分配:务必确认www.example.com对应的CloudFront分配也绑定了正确的ACM证书——很多人容易只给主域名分配绑定证书,忽略了www的分配。
  • 重点提醒:CloudFront只支持us-east-1(弗吉尼亚北部)区域签发的ACM证书!如果你的证书是在其他区域(比如us-west-2)创建的,哪怕覆盖了域名,CloudFront也无法使用,直接导致HTTPS请求失败。

2. 验证Route53 DNS记录的正确性

虽然http://www能正常跳转,但还是要确认:

  • www.example.com的A/AAAA记录是**别名(Alias)**指向对应的CloudFront分配域名,而不是直接指向S3存储桶的域名。S3本身不支持自定义域名的HTTPS访问(除非通过CloudFront),如果直接指向S3,HTTPS请求必然失败。
  • 确保DNS记录已经生效,可以用nslookup www.example.com或者dig www.example.com命令验证返回的是不是CloudFront的IP地址。

3. 检查CloudFront的重定向规则配置

你的http://www能跳转到https://example.com,说明HTTP到HTTPS的重定向没问题,但HTTPS的www请求没被处理:

  • 查看CloudFront分配的Behavior设置:除了把Viewer Protocol Policy设为Redirect HTTP to HTTPS,还需要添加额外的重定向逻辑,处理HTTPS的www请求。
    • 最简单的方式是用CloudFront Functions或者Lambda@Edge编写一个简单的函数,当请求的Host头是www.example.com时,返回301重定向到https://example.com。
    • 如果你是用S3静态网站托管的重定向规则,要确保CloudFront的行为设置里Forward Headers包含Host头,这样S3才能识别请求的域名并执行重定向。

4. 确认证书的有效性

虽然你说证书覆盖了两个域名,但还是要快速检查:

  • 登录ACM控制台,确认证书状态是Issued,并且www.example.com在证书的Subject Alternative Names列表里。
  • 检查证书的有效期,确保没有过期。

按照上面的步骤排查,基本就能定位问题了——大概率是CloudFront的证书绑定区域不对,或者www的分配没绑定正确的证书。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:16:10