要求在 CloudFront 与您的自定义源之间使用 HTTPS 进行通信
您可以要求使用 HTTPS 在 CloudFront 与您的源之间的通信
注意
如果您的源是配置为网站终端节点的 Amazon S3 存储桶,则无法将 CloudFront 配置为将 HTTPS 与源结合使用,因为 Amazon S3 不支持对网站终端节点使用 HTTPS。
如需要求在 CloudFront 和您的源之间的需要使用 HTTPS,请按照本主题中的过程执行以下操作:
-
在您的分配中,更改源的 Origin Protocol Policy (源协议策略) 设置
-
在您的自定义源服务器上安装 SSL/TLS 证书(当您使用 Amazon S3 源或某些其他 AWS 源时,不需要执行此操作)。
要求自定义源使用 HTTPS
以下过程介绍了如何配置 CloudFront 以使用 HTTPS 与 Elastic Load Balancing 负载均衡器、Amazon EC2 实例或其他自定义源进行通信。有关使用 CloudFront API 更新分配的信息,请参阅《Amazon CloudFront API 参考》中的 UpdateDistribution。
将 CloudFront 配置为要求在 CloudFront 和您的自定义源之间使用 HTTPS
登录 AWS Management Console,并通过以下网址打开 CloudFront 控制台:https://console.aws.amazon.com/cloudfront/v4/home
。 -
在 CloudFront 控制台的顶部窗格中,选择您要更新的分配的 ID。
-
在行为选项卡中,选择要更新的源,然后选择编辑。
-
更新以下设置:
- 源协议策略
-
为您的分配中的适用源更改源协议策略:
-
仅 HTTPS – CloudFront 仅使用 HTTPS 与自定义源进行通信。
-
匹配查看器 – CloudFront 使用 HTTP 或 HTTPS 与自定义源进行通信,具体取决于查看器请求协议。例如,如果您源协议策略选择匹配查看器,并且查看器使用 HTTPS 从 CloudFront 请求对象,则 CloudFront 也会使用 HTTPS 将请求转发给您的源。
只有在为查看器协议策略指定将 HTTP 重定向到 HTTPS 或仅 HTTPS 时,才能选择匹配查看器。
请注意,CloudFront 仅缓存对象一次,即使查看器使用 HTTP 和 HTTPS 协议发出请求也是如此。
-
- Origin SSL Protocols
-
为您的分配中的适用源选择 Origin SSL Protocols。由于 SSLv3 协议的安全性较低,因此,建议您仅在源不支持 TLSv1 或更高版本的情况下选择 SSLv3。TLSv1 握手与 SSLv3 向后和向前兼容,但 TLSv1.1 及更高版本不是这样。当您选择 SSLv3 时,CloudFront 仅 发送 SSLv3 握手请求。
-
选择 Save changes(保存更改)。
-
针对要求在 CloudFront 和您的自定义源之间使用 HTTPS 的其他每个源,重复步骤 3 到 5。
-
请确认以下内容,然后在生产环境中使用更新后的配置:
-
每个缓存行为中的路径模式仅适用于您希望查看器使用 HTTPS 的请求。
-
缓存行为按您希望 CloudFront 评估它们的顺序列出。有关更多信息,请参阅 路径模式。
-
缓存行为将请求路由到更改了源协议策略的源。
-
在自定义源上安装 SSL/TLS 证书
您可以在自定义源上使用来自以下来源的 SSL/TLS 证书:
-
如果您的源是 Elastic Load Balancing 负载均衡器,则可以使用 AWS Certificate Manager (ACM) 提供的证书。您也可以使用信任的第三方证书颁发机构签署并导入 ACM 的证书。
-
对于 Elastic Load Balancing 负载均衡器之外的源,您必须使用由信任的第三方证书颁发机构 (CA)(例如,Comodo、DigiCert 或 Symantec)签署的证书。
从源返回的证书必须包括以下域名之一:
-
源的源域字段中的域名(CloudFront API 中的
DomainName
字段)。 -
Host
标头中的域名,如果缓存行为配置为将Host
标头转发至源。
当 CloudFront 使用 HTTPS 与您的源进行通信时,CloudFront 会验证信任的证书颁发机构颁发的证书。CloudFront 与 Mozilla 支持相同的证书颁发机构。有关当前列表,请参阅 Mozilla 包含的 CA 证书列表
重要
如果源服务器返回过期证书、无效证书或自签名证书,或者如果源服务器以错误顺序返回证书链,CloudFront 将中断 TCP 连接,向查看器返回 HTTP 错误代码 502(无效网关),并将 X-Cache
标头设置为 Error from cloudfront
。此外,如果不存在完整的证书链(包括中间证书),则 CloudFront 将中断 TCP 连接。