本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
需要使用 HTTPS 才能在 CloudFront 和您的自定义源之间进行通信
您可以要求 HTTPS 才能在源站 CloudFront 之间进行通信。
注意
如果您的源是配置为网站终端节点的 Amazon S3 存储桶,则无法配置 CloudFront 为在源端节点中使用 HTTPS,因为 Amazon S3 不支持网站终端节点的 HTTPS。
要要求在源站 CloudFront 之间使用 HTTPS,请按照本主题中的步骤执行以下操作:
-
在您的分配中,更改源的 Origin Protocol Policy (源协议策略) 设置
-
在您的自定义源服务器上安装 SSL/TLS 证书(当您使用 Amazon S3 源或某些其他 AWS 源时,不需要执行此操作)。
更改 CloudFront设置
以下过程说明如何配置 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。
-
在 Origins 选项卡中,选择要更新的源,然后选择 Edit。
-
更新以下设置:
- 源协议策略
-
为您的分配中的适用源更改源协议策略:
-
仅限 HTTP S — 仅 CloudFront 使用 HTTPS 与您的自定义源进行通信。
-
Match Viewer — 使用 HTTP 或 HTTPS 与您的自定义源进行 CloudFront 通信,具体取决于查看者请求的协议。例如,如果您为源协议策略选择 Match View er,并且查看者使用 HTTPS 从中请求对象 CloudFront,则 CloudFront 还会使用 HTTPS 将请求转发到您的源。
只有在为查看器协议策略指定将 HTTP 重定向到 HTTPS 或仅 HTTPS 时,才能选择匹配查看器。
CloudFront 即使查看者同时使用 HTTP 和 HTTPS 协议发出请求,也只能缓存对象一次。
-
- Origin SSL Protocols
-
为您的分配中的适用源选择 Origin SSL Protocols。由于 SSLv3 协议的安全性较低,因此,建议您仅在源不支持 TLSv1 或更高版本的情况下选择 SSLv3。TLSv1 握手与 SSLv3 向后和向前兼容,但 TLSv1.1 和 TLSv1.2 不是这样。选择 SSLv3 时, CloudFront 仅发送 SSLv3 握手请求。
-
选择是,编辑。
-
对于要在自定义源之间使用 HTTPS 的每个其他来源 CloudFront ,重复步骤 3 到 5。
-
请确认以下内容,然后在生产环境中使用更新后的配置:
-
每个缓存行为中的路径模式仅适用于您希望查看器使用 HTTPS 的请求。
-
缓存行为按您想要评估 CloudFront 的顺序列出。有关更多信息,请参阅路径模式。
-
缓存行为将请求路由到更改了源协议策略的源。
-
在自定义源上安装 SSL/TLS 证书
您可以在自定义源上使用来自以下来源的 SSL/TLS 证书:
-
如果您的源是 Elastic Load Balancing 负载均衡器,则可以使用 AWS Certificate Manager (ACM) 提供的证书。您也可以使用信任的第三方证书颁发机构签署并导入 ACM 的证书。
-
对于 Elastic Load Balancing 负载均衡器以外的来源,您必须使用由受信任的第三方证书颁发机构 (CA) 签名的证书,例如 Comodo 或 Syman DigiCert tec。
从源返回的证书必须包括以下域名之一:
-
来源的 Origin 域名字段( CloudFront API 中的
DomainName
字段)中的域名。 -
Host
标头中的域名,如果缓存行为配置为将Host
标头转发至源。
CloudFront 使用 HTTPS 与您的来源通信时, CloudFront 会验证证书是否由受信任的证书颁发机构颁发。 CloudFront 支持与 Mozilla 相同的证书颁发机构。有关当前列表,请参阅 Mozilla 包含的 CA 证书列表
重要
如果源服务器返回过期的证书、无效的证书或自签名证书,或者源服务器以错误的顺序返回证书链,则断开 TCP 连接, CloudFront 向查看器返回 HTTP 状态代码 502(错误的网关),并将X-Cache
标头设置为。Error from cloudfront
此外,如果整个证书链(包括中间证书)不存在,则 CloudFront 会断开 TCP 连接。