选择 CloudFront 处理 HTTPS 请求的方式
如果希望您的查看器使用 HTTPS 并对您的文件使用备用域名,请为 CloudFront 处理 HTTPS 请求的方式选择下列选项之一:
-
使用服务器名称指示 (SNI)
– 建议 -
在每个边缘站点使用专用 IP 地址
本部分说明了每个选项的工作方式。
使用 SNI 处理 HTTPS 请求(适用于大多数客户端)
服务器名称指示 (SNI)
在建立 HTTPS 连接的过程的早期便进行了 SSL/TLS 协商。如果 CloudFront 无法立即确定该请求所针对的域,则它会中断连接。在支持 SNI 的查看器针对您的内容提交 HTTPS 请求时,将发生以下操作:
-
查看器自动从请求 URL 中获取域名,并将其添加到请求标头中的字段。
-
当 CloudFront 收到请求时,它会在请求标头中查找域名并使用适用的 SSL/TLS 证书响应该请求。
-
查看器和 CloudFront 执行 SSL/TLS 协商。
-
CloudFront 将请求的内容返回到查看器。
有关支持 SNI 的浏览器的当前列表,请参阅 Wikipedia 条目服务器名称指示
如果您希望使用 SNI,但您的某些用户的浏览器不支持 SNI,则您有以下几种选择:
-
配置 CloudFront 以使用专用 IP 地址而不是 SNI 来提供 HTTPS 请求。有关更多信息,请参阅使用专用 IP 地址处理 HTTPS 请求(适用于所有客户端)。
-
使用 CloudFront SSL/TLS 证书而不是自定义证书。这要求您在文件的 URL(例如
https://d111111abcdef8.cloudfront.net/logo.png
)中为您的分配使用 CloudFront 域名。如果您使用默认 CloudFront 证书,查看器必须支持 SSL 协议 TLSv1 或更高版本。CloudFront 不支持 SSLv3 使用默认的 CloudFront 证书。
您还必须将 CloudFront 使用的 SSL/TLS 证书从自定义证书更改为默认 CloudFront 证书:
-
如果您尚未使用分配来分发内容,则只需更改配置。有关更多信息,请参阅更新分配。
-
如果您已使用分配来分发内容,则必须创建新的 CloudFront 分配并更改文件的 URL,以便减少或消除内容不可用的时间。有关更多信息,请参阅从自定义 SSL/TLS 证书恢复为原定设置 CloudFront 证书。
-
-
如果您可以控制用户使用的浏览器,请让用户将浏览器升级为支持 SNI 的浏览器。
-
使用 HTTP 而不是 HTTPS。
使用专用 IP 地址处理 HTTPS 请求(适用于所有客户端)
服务器名称指示 (SNI) 是一种将请求与域关联的方法。另一种方法是使用专用 IP 地址。如果您的用户无法升级到 2010 年之后发布的浏览器或客户端,您可以使用专用 IP 地址为 HTTPS 请求提供服务。有关支持 SNI 的浏览器的当前列表,请参阅 Wikipedia 条目服务器名称指示
如果您将 CloudFront 配置为使用专用 IP 地址提供 HTTPS 请求,则每月会产生额外的费用。一旦您将 SSL/TLS 证书与某个分配关联并启用该分配,就将开始计费。有关 CloudFront 定价的更多信息,请参阅 Amazon CloudFront 定价
当您将 CloudFront 配置为使用专用 IP 地址处理 HTTPS 请求时,CloudFront 将备用域名与每个 CloudFront 边缘站点中的专用 IP 地址关联。在查看器针对您的内容提交 HTTPS 请求时,将发生以下操作:
-
DNS 将请求路由到适用边缘站点中您的分配的 IP 地址。
-
CloudFront 使用 IP 地址来识别您的分配,确定将哪个 SSL/TLS 证书返回给查看器。
-
查看器和 CloudFront 使用您的 SSL/TLS 证书执行 SSL/TLS 协商。
-
CloudFront 将请求的内容返回到查看器。
此方法适用于每个 HTTPS 请求,无论用户使用的是浏览器还是其他查看器。
请求使用三个或更多专用 IP SSL/TLS 证书的权限
如果您需要权限将三个或更多 SSL/TLS 专用 IP 证书与 CloudFront 永久关联,请执行以下步骤。有关 HTTPS 请求的更多信息,请参阅选择 CloudFront 处理 HTTPS 请求的方式。
此过程在您的多个 CloudFront 分配之间使用三个或三个以上的专用 IP 证书。默认值是 2。请记住,您不能将多个 SSL 证书绑定到一个分配。
您一次只能将一个 SSL/TLS 证书与一个 CloudFront 分配关联。此数字是在您的所有 CloudFront 分配中可以使用的专用 IP SSL 证书的总数。