我想将 CloudFront 配置为通过 HTTPS 使用备用域名来提供我的内容。
简短描述
默认情况下,您只能使用 CloudFront 域名通过 HTTPS 提供内容。但是,您可以将自己的域名与 CloudFront 关联,通过 HTTPS 提供您的内容。
要将您自己的域名与 CloudFront 关联,请添加备用域名(CNAME)。
解决方法
在 AWS Certificate Manager(ACM)中申请 SSL 证书或导入您自己的证书
要使用 Amazon 颁发的证书,请参阅申请公有证书。
使用公有证书时,请注意:
- 您必须在美国东部(弗吉尼亚北部)地区申请证书。
- 您必须拥有使用和申请 ACM 证书的权限。
要使用导入的证书,请参阅将证书导入到 AWS Certificate Manager 中。
使用导入的证书时,请注意:
有关详细信息,请参阅将 SSL/TLS 证书与 CloudFront 配合使用的要求。
注意: 最佳做法是将您的证书导入到 ACM 中。但是,您也可以将证书导入到 IAM 证书存储区中。
将 SSL 证书和备用域名附加到您的分配中
- 访问 CloudFront 控制台。
- 选择要更新的分配。
- 在常规选项卡上,选择编辑。
- 对于备用域名(CNAME),请添加适用的备用域名。用逗号分隔域名,或者在新行中输入每个域名。
注意: 您尝试添加的备用域名不得有指向其他 CloudFront 分配的 DNS 记录。
- 对于 SSL 证书,选择自定义 SSL 证书。然后,从列表中选择一个证书。
注意: 下拉列表中最多可显示 100 个证书。如果您的证书超过 100 个,并且未列出您想要的证书,请输入证书的 Amazon 资源名称(ARN)。如果您之前已将证书上传到 IAM 证书存储区,但是在下拉列表中没有该证书,请确认您已正确上传证书。
- 如果您希望 CloudFront 使用专用的 IP 地址提供您的 HTTPS 内容,请启用旧版客户端支持。
**注意:**在使用旧版客户端支持时,如果您将 SSL/TLS 证书与启用该设置的分配相关联,则会产生额外费用。有关详细信息,请参阅 Amazon CloudFront 定价。
- 选择保存更改。
将 CloudFront 配置为要求在查看者与 CloudFront 之间使用 HTTPS
- 访问 CloudFront 控制台。
- 在行为选项卡上,选择要更新的缓存行为。然后,选择编辑。
- 对于查看者协议策略,请选择:
将 HTTP 重定向到 HTTPS。查看者可以使用这两种协议,但是 HTTP 请求会被自动重定向到 HTTPS 请求。
-或者-
仅限 HTTPS。只有当查看者使用 HTTPS 时,才能访问您的内容。如果查看者发送的是 HTTP 请求而不是 HTTPS 请求,则 CloudFront 会返回 HTTP 状态代码 403(已禁止),并且不会返回该文件。
- 选择保存更改。
- 对于您希望在查看者和 CloudFront 之间要求使用 HTTPS 的每个其他缓存行为,重复步骤 1-4。
创建 DNS 记录,将您的域指向 CloudFront 分配
创建别名资源记录集。有了别名资源记录集,则不会对 Route 53 查询收取任何费用。此外,您可以为根域名(example.com)创建别名资源记录集,而 DNS 不允许为 CNAME 创建别名资源记录集。有关详细信息,请参阅配置 Amazon Route 53 以将流量路由到 CloudFront 分配。
使用其他 DNS 服务提供商
使用您的 DNS 服务提供商提供的方法为您的域添加 CNAME 记录。CNAME 记录会将 DNS 查询从您的备用域名(例如:www.example.com)重定向到您的分配的 CloudFront 域名(例如:example.cloudfront.net)。