5

我有一个简单的静态站点,我通过亚马逊的 Cloudfront 提供。那里没有什么重要的,所以它不需要 HTTPS,此外,我不想为我的网站设置 SSL 证书的麻烦和成本,如果通过 HTTPS 发送的请求得到满足,我很高兴服务不可用或任何其他错误消息被认为是合适的。相反,Cloudfront 尝试使用自己的证书提供 HTTPS 页面,因此由于证书/域名不匹配,因此在浏览器中将该站点标记为“不受信任”。

是否有某种方法可以在 Cloudfront 中完全禁用 HTTPS,或者在仍在使用 Cloudfront 的同时优雅地回退到 HTTP 的其他方法?

4

4 回答 4

3

对于使用 AWS Web 控制台设置其云端的用户,请按照以下路径更改“查看器协议策略”:

AWS Web 控制台 > Cloudfront > Cloudfront Distributions > [选择您的分配] > 行为选项卡 > [选择您的缓存行为] > 编辑 > 查看器协议策略 > 设置“HTTP 和 HTTPS”

于 2018-12-27T13:04:22.570 回答
3

我有同样的问题。

亚马逊现在免费提供 SSL 证书,但有以下限制:

  • 您只能在 CloudFront 或 ELB 中使用它们。
  • 不支持服务器名称指示的浏览器将无法正确呈现您的站点。

就我而言,即使我从不需要它,我也只是使用它。它比浏览器上的“不受信任的连接”要好得多。

我找不到任何优雅失败或完全阻止 HTTPS 的机制。

请参阅: http ://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS

于 2016-02-03T23:49:51.863 回答
2

您可以为每个 CloudFront 源单独指定是否应该使用HTTPHTTPS/或仅HTTP使用源协议策略设置。

协议

CloudFront 根据以下内容将 HTTP 或 HTTPS 请求转发到源服务器:

最终用户发送到 CloudFront 的请求协议,HTTP 或 HTTPS。

CloudFront 控制台中的Origin Protocol Policy字段的值,或者,如果您使用 CloudFront API,则为 复杂类型OriginProtocolPolicy中的元素。DistributionConfig在 CloudFront 控制台中,选项是HTTP OnlyMatch Viewer

如果您指定HTTP Only,CloudFront 将仅使用 HTTP 协议将请求转发到源服务器,而不考虑最终用户请求中的协议。

来源:AWS CloudFront 文档

于 2013-10-16T11:27:21.230 回答
1

请注意,如果您希望将备用域名添加到分配中:

似乎自从此版本(2019 年 4 月 8 日)以来,当您将备用域名添加到分发时,您还必须将 SSL/TLS 证书附加到涵盖备用域名的分发中

因此,在这种情况下,您不能禁用 HTTPS。


(*) 注意:我个人没有看到提到的 Origin Protocol Policy 选项- 尽管这里HTTP Only也提到了它。

于 2020-05-27T14:14:58.357 回答