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

如何为仅用于文件存储的S3自定义域名添加SSL证书

为自定义域名的S3存储桶配置HTTPS访问(ACM+CloudFront方案)

因为S3静态网站托管无法直接绑定自定义SSL证书,最可靠且易维护的方案是通过CloudFront分发+ACM证书来实现HTTPS访问,具体步骤如下:

1. 在ACM申请SSL证书

  • 必须在**us-east-1(弗吉尼亚北部)**区域操作,因为CloudFront仅支持调用该区域的ACM证书
  • 申请时填写目标域名 storage.mycustomdomain.com,选择DNS验证(适配你已在用的Route53,验证流程最顺畅)
  • ACM会生成一条专属的CNAME验证记录,直接在Route53对应域名的托管区添加这条记录,等待AWS自动完成验证(通常几分钟即可)

2. 创建CloudFront分发

进入CloudFront控制台创建新分发,关键配置项如下:

源设置

  • 源域名:选择你的S3存储桶的REST API域名(格式类似 storage.mycustomdomain.com.s3.amazonaws.com,不要选自动补全的静态网站托管域名)
  • 源访问身份:选择「创建新的OAI」,并勾选「更新存储桶策略」——这会自动配置S3桶的权限,确保只有CloudFront能访问桶内内容,避免直接访问S3的HTTP流量

默认缓存行为设置

  • 查看器协议策略:选择「重定向HTTP到HTTPS」,强制所有访问走HTTPS链路
  • 允许的HTTP方法:按需选择,静态资源场景选「GET, HEAD」即可

分发设置

  • 备用域名(CNAMEs):填入 storage.mycustomdomain.com
  • SSL证书:选择你刚才在ACM申请并验证通过的证书
  • 默认根对象:如果桶内有首页文件(如index.html),可填写该文件名,否则留空

完成配置后点击「创建分发」,等待10-15分钟让CloudFront完成全球部署。

3. 更新Route53 DNS记录

删除之前指向S3的CNAME记录,新增一条CNAME记录:

  • 记录名称:storage.mycustomdomain.com
  • 记录值:你的CloudFront分发域名(格式类似 d123456abcdef.cloudfront.net,可在CloudFront控制台的分发详情中找到)

4. 验证访问

部署完成后,访问 https://storage.mycustomdomain.com 即可通过HTTPS访问S3内容,原HTTP请求会自动重定向到HTTPS。

额外说明

  • 若不需要强制HTTPS,可将「查看器协议策略」改为「HTTP和HTTPS」,但推荐强制重定向以提升可信度
  • 此时可以关闭S3的静态网站托管功能,因为流量都通过CloudFront的REST接口访问S3,静态网站域名不再需要使用
  • 不推荐直接给S3静态网站托管配置HTTPS(仅部分区域支持,且需手动上传证书,维护成本高),CloudFront方案同时还能获得CDN加速的额外收益

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:13:20