如何配置 CloudFront 以通过 HTTPS 使用备用域名来提供我的内容?

上次更新日期:2022 年 5 月 31 日

我想将 CloudFront 配置为通过 HTTPS 使用备用域名来提供我的内容。我该如何操作?

简短描述

默认情况下,您只能使用 CloudFront 域名通过 HTTPS 提供内容服务。但是,您可以将自己的域名与 CloudFront 关联以通过 HTTPS 提供您的内容。

要将您自己的域名与 CloudFront 关联,请添加 备用域名 (CNAME)

解决方法

在 AWS Certificate Manager (ACM) 中申请 SSL 证书或导入您自己的证书 

要使用 Amazon 颁发的证书,请参阅申请公有证书

使用公共证书时,请记住:

  • 您必须在美国东部(弗吉尼亚州北部)区域请求证书。
  • 您必须拥有使用和请求 ACM 证书的权限。

要使用导入的证书,请参阅将证书导入 AWS Certificate Manager

使用导入的证书时,请记住:

有关更多信息,请参阅将 SSL/TLS 证书与 CloudFront 配合使用的要求。 

注意:最佳做法是将您的证书导入到 ACM。但是,您也可以在 IAM 证书存储中导入证书。

将 SSL 证书和备用域名附加到您的分配中

  1. 访问 CloudFront 控制台
  2. 选择要更新的分配。
  3. General(常规)选项卡上,选择 Edit(编辑)。
  4. 对于备用域名 (CNAME),请添加适用的备用域名。用逗号分隔域名,或在新行中键入每个域名。
    注意:您尝试添加的备用域不得具有指向其他 CloudFront 分配的 DNS 记录。
  5. 对于 SSL Certificate (SSL 证书),选择 Custom SSL Certificate (自定义 SSL 证书)。然后,从列表中选择一个证书。
    注意:下拉列表中最多有 100 个证书可用。如果您有超过 100 个证书,但您想要的证书未列出,请输入证书 Amazon 资源名称(ARN)。如果您之前已将证书上传到 IAM 证书存储,但该证书在下拉列表中不可用,请确认您已正确上传证书。 
  6. 如果您希望 CloudFront 使用专用 IP 地址提供您的 HTTPS 内容,请开启旧版客户端支持
     注意:使用旧版客户端支持时,如果您将 SSL/TLS 证书与启用该设置的分配相关联,则会产生额外费用。有关更多信息,请参阅 Amazon CloudFront 定价
  7. 选择 Save changes(保存更改)。

将 CloudFront 配置为在查看器和 CloudFront 之间需要HTTPS

  1. 访问 CloudFront 控制台
  2. Behaviors(行为)选项卡上,选择要更新的缓存行为。然后选择 Edit(编辑)。
  3. 对于查看器协议策略,请选择:
    重定向 HTTP 到 HTTPS。查看者可以使用这两种协议,但是 HTTP 请求会自动重定向到 HTTPS 请求。 
    -或者-
    仅限 HTTPS。 查看者只有在使用 HTTPS 时才能访问您的内容。如果查看者发送的是 HTTP 请求而不是 HTTPS 请求,CloudFront 会返回 HTTP 状态代码 403(已禁止),但不会返回该文件。
  4. 选择保存更改
  5. 对于您希望在查看器和 CloudFront 之间使用 HTTPS 的每个其他缓存行为,重复步骤 1-4。

创建 DNS 记录以将您的域指向 CloudFront 分配

使用 Amazon Route 53

创建别名资源记录集。如果设置了别名资源记录,则 Route 53 查询不收取任何费用。此外,您可以为根域名 (example.com) 创建别名资源记录集,其中 DNS 不允许使用 CNAME。有关更多信息,请参阅配置 Amazon Route 53 以将流量路由到 CloudFront 分配

使用其他 DNS 服务提供商

使用您的 DNS 服务提供商提供的方法为您的域名添加 CNAME 记录。CNAME 记录会将 DNS 查询从您的备用域名(例如:www.example.com)重定向到分配的 CloudFront 域名(例如:example.cloudfront.net)。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?