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

S3+CloudFront+Route53缓存异常排查求助

问题背景

使用S3、CloudFront和Route53搭建的静态网站,从版本1更新至版本2后出现异常:

  • 直接访问S3端点(http://abc.s3-website-eu-west-1.amazonaws.com/)可看到版本2
  • 直接访问CloudFront端点(https://xyz.cloudfront.net/)可看到版本2
  • 通过Route53配置的域名(A记录指向CloudFront分发)仍显示版本1,已持续约1周(DNS记录使用默认TTL)

额外检测信息:

  • dig A xyz.cloudfront.net与dig A mydomain.com返回相同IP
  • curl结果显示域名存在旧配置的302跳转(原指向www.example.com,现已改为直接指向CloudFront):
curl -sD - https://example.com -o /dev/null
HTTP/1.1 302 Moved Temporarily
Content-Length: 0
Connection: keep-alive
Server: CloudFront
Location: https://www.example.com/
X-Cache: Miss from cloudfront
Via: 1.1 qwe.cloudfront.net (CloudFront)
...
curl -sD - https://xyz.cloudfront.net -o /dev/null
HTTP/2 200
content-type: text/html
content-length: 537
date: Fri, 18 Nov 2022 20:35:41 GMT
last-modified: Tue, 15 Nov 2022 10:09:03 GMT
etag: "..."
server: AmazonS3
x-cache: Miss from cloudfront
via: 1.1 bla.cloudfront.net (CloudFront)
...
可排查的配置问题
  • 检查CloudFront分发的自定义域名与行为配置

    • 确认该分发是否正确绑定了example.com自定义域名,而非仅绑定www.example.com
    • 查看分发的行为规则,是否针对example.com的请求路径遗留了旧的302跳转策略
    • 检查自定义错误响应设置,是否存在意外触发的跳转规则
  • 验证CloudFront缓存无效化与缓存策略

    • 确认是否针对example.com/*路径执行了缓存无效化操作,可能之前仅对CloudFront默认域名做了无效化,未覆盖自定义域名路径
    • 检查缓存键配置,若Host头部是缓存键的一部分,默认域名的无效化不会影响自定义域名的缓存
  • 检查Route53记录的细节配置

    • 确认A记录是别名记录指向CloudFront分发,而非手动设置的普通A记录(别名记录才会自动同步CloudFront的IP变化)
    • 排查托管区内是否存在其他冲突记录:比如example.com的CNAME记录、Route53重定向记录,或关联了异常的健康检查路由
    • 确认托管区的域名服务器已正确生效,用户访问时使用的是你的Route53 DNS,而非旧服务商的缓存
  • 检查SSL证书与Viewer协议策略

    • 确认CloudFront绑定的ACM证书覆盖了example.com域名,且证书状态有效
    • 查看Viewer Protocol Policy设置,是否在强制HTTPS跳转时遗留了旧的302规则
  • 检查S3桶的附加配置

    • 确认S3桶的静态网站托管设置中,没有遗留桶级别的302跳转至www.example.com的规则
    • 检查CloudFront分发的源配置:若使用的是S3 REST API端点而非静态网站端点,需确认OAI权限是否正常,是否因权限问题导致读取旧内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:02:01