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

已配置CloudFront与S3,如何让dev.abc.com仅通过HTTPS访问?

解决dev.abc.com仅HTTPS访问的方案

针对你遇到的S3网站终端节点无法让CloudFront用HTTPS通信的问题,有两种可行方案:

方案一:改用S3 REST API端点作为CloudFront源(推荐端到端HTTPS)

这个方案能实现查看器到CloudFront、CloudFront到S3的全链路HTTPS:

  • 关闭S3桶的静态网站托管配置(如果依赖该功能的索引/错误页面,后续在CloudFront里配置)
  • 在CloudFront分发的源设置中,选择你的S3桶时,使用S3 REST API端点(不是带website后缀的网站端点)
  • 配置CloudFront的源访问控制(OAC),授权CloudFront访问S3桶(替代传统的桶策略,是当前AWS推荐的方式)
  • 在CloudFront的缓存行为设置里,将源请求协议设置为HTTPS only,确保CloudFront仅用HTTPS和S3通信
  • 确认CloudFront的默认根对象设置为你的首页文档(比如index.html),替代原S3静态网站的索引页配置

方案二:保留S3网站终端节点,强制查看器端HTTPS

如果必须保留S3的静态网站托管功能(比如自定义重定向、错误页面规则),可以让CloudFront用HTTP访问S3源,但确保用户访问时只能用HTTPS:

  • 保持CloudFront源为S3网站终端节点
  • 在CloudFront的缓存行为中,确认已开启HTTP重定向至HTTPS,同时将查看器协议策略设置为Redirect HTTP to HTTPS
  • 虽然CloudFront到S3是HTTP通信,但用户访问dev.abc.com时会被强制跳转到HTTPS,满足你“仅通过HTTPS访问”的核心需求

另外,检查以下配置是否正确,避免常见问题:

  • 确认ACM证书是在us-east-1区域申请的(CloudFront要求证书必须在该区域)
  • Route53的别名记录正确指向CloudFront分发的域名,且状态为生效
  • CloudFront分发的备用域名(CNAME)已正确设置为dev.abc.com
  • 等待CloudFront分发部署完成(通常需要10-15分钟),新配置才会生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:47:16