添加备用域名
以下任务列表描述了如何使用 CloudFront 控制台将备用域名添加到分配中,以便您可以在链接中使用自己的域名而非 CloudFront 域名。有关使用 CloudFront API 更新您的分配的信息,请参阅配置分配。
注意
如果您希望查看器使用 HTTPS 和您的备用域名,请参阅 使用备用域名和 HTTPS。
开始之前:确保执行了以下操作,然后再更新分配以添加备用域名:
向 Route 53 或其他域注册商注册该域名。
从包含该域名的授权证书颁发机构 (CA) 获取 SSL/TLS 证书。将证书添加至您的分配中以验证您是否有权使用该域。有关更多信息,请参阅 使用备用域名的要求。
添加备用域名
登录 Amazon Web Services Management Console,并通过以下网址打开 CloudFront 控制台:https://console.amazonaws.cn/cloudfront/v4/home
。 -
为要更新的分配选择 ID。
-
在 General 选项卡上,选择 Edit。
-
更新以下值:
- 备用域名 (CNAME)
-
添加备用域名。用逗号隔开多个域名,或在新行中键入每个域名。
- SSL 证书
-
选择以下设置:
-
使用 HTTPS – 选择自定义 SSL 证书,然后从列表中选择证书。该列表包含 Amazon Certificate Manager (ACM) 预置的证书、您从另一个证书颁发机构购买并上传到 ACM 的证书以及您从另一个证书颁发机构购买并上传到 IAM 证书存储的证书。
如果您已将证书上传到 IAM 证书存储,但该证书未显示在列表中,请检查过程 导入 SSL/TLS 证书,确认您已正确上传证书。
如果您选择此设置,建议您只在对象 URL 中使用一个备用域名 (https://www.example.com/logo.jpg)。如果您使用您的 CloudFront 分配域名 (https://d111111abcdef8.cloudfront.net.cloudfront.net/logo.jpg),则查看器的工作方式可能如下所示,具体取决于您为支持的客户端选择的值:
-
所有客户端:如果查看器不支持 SNI,它将显示警告,因为 CloudFront 域名与 TLS/SSL 证书中的域名不匹配。
-
仅支持服务器名称指示 (SNI) 的客户端:CloudFront 将删除与查看器的连接而不返回对象。
-
-
- 支持的客户
-
选择一个选项:
-
所有客户端:CloudFront 使用专用 IP 地址提供您的 HTTPS 内容。如果您选择该选项,则当您将 SSL/TLS 证书与已启用的分配关联时,将产生额外的费用。有关更多信息,请参阅 Amazon CloudFront 定价
。 -
仅限支持服务器名称指示 (SNI) 的客户端:不支持 SNI 的旧版浏览器或其他客户端必须使用其他方法访问您的内容。
有关更多信息,请参阅 选择 CloudFront 如何处理 HTTPS 请求。
-
-
选择是,编辑。
-
在分配的 General 选项卡上,确认 Distribution Status 已更改为 Deployed。如果您试图在部署对分配的更新之前使用备用域名,您在以下步骤创建的链接可能无法正常工作。
-
配置备用域(例如 www.example.com)的 DNS 服务,以将流量路由到您的分配的 CloudFront 域名(如 d111111abcdef8.cloudfront.net)。您使用的方法取决于您是将 Route 53 还是另一个供应商作为域的 DNS 服务提供商。
注意
如果您的 DNS 记录已指向的分配并不是您要更新的分配,则您只能在更新 DNS 后才能向分配中添加备用域名。有关更多信息,请参阅 备用域名的使用限制。
- Route 53
-
创建别名资源记录集。有了别名资源记录集,您就不用付款进行 Route 53 查询了。此外,您可以为根域名 (example.com) 创建别名资源记录集,而 DNS 不允许 CNAME。有关更多信息,请参阅《Amazon Route 53 开发人员指南》中的使用域名将流量路由到 Amazon CloudFront Web 分配。
- 其他 DNS 服务提供商
-
使用 DNS 服务提供商提供的方法为域添加 CNAME 记录。这一新的 CNAME 记录将来自备用域名(例如,www.example.com)的 DNS 查询重新导向到分配的 CloudFront 域名(例如,d111111abcdef8.cloudfront.net)。有关更多信息,请参阅 DNS 服务提供商提供的文档。
重要
如果您的域名已有现有的 CNAME 记录,请更新此记录或将其替换为指向分配的 CloudFront 域名的新记录。
-
使用
dig
或类似的 DNS 工具,确认您在上一步创建的 DNS 配置指向分配的域名。以下示例显示了 www.example.com 域上的
dig
请求以及响应的相关部分。PROMPT> dig www.example.com ; <<> DiG 9.3.3rc2 <<> www.example.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917 ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.com. IN A ;; ANSWER SECTION:
www.example.com. 10800 IN CNAME d111111abcdef8.cloudfront.net.
...回答部分显示了将针对 www.example.com 的查询路由到 CloudFront 分配域名 d111111abcdef8.cloudfront.net 的 CNAME 记录。如果
CNAME
右侧的名称是 CloudFront 分配的域名,则正确配置了 CNAME 记录。如果是其他任何值(如 Amazon S3 存储桶的域名),则未正确配置 CNAME 记录。在这种情况下,请回到步骤 7,纠正 CNAME 记录以指向分配的域名。 -
通过访问具有您的域名而不是分配的 CloudFront 域名的 URL 来测试备用域名。
-
在您的应用程序中,更改对象的 URL 以使用您的备用域名而不是 CloudFront 分配的域名。