通过Cloudfront服务HTTPS,但支持HTTP原点

时间:2018-09-06 07:38:21

标签: amazon-cloudfront

我有一台运行在EC2上的Wordpress服务器,目前它仅运行HTTP,我宁愿避免在其上设置SSL的麻烦。我希望我可以选择Cloudfront来使用HTTPS(使用AWS证书托管的SSL证书)向客户端提供所有请求,然后通过对原始服务器的HTTP调用刷新其缓存。在Cloudflare中,这种类型的配置非常简单,但是与传统的CDN相比,它更像是一种反向代理。对于Cloudfront,这是合理的架构吗?

我本来以为Viewer协议策略的“行为”可以设置为“将HTTP重定向到HTTPS”,但是至少起初我似乎是通过HTTPS来加载页面,但是页面上的所有资产都无法加载因为它们仍然指向HTTP。可能这是一个不同的问题,但我遇到了一个困扰所有问题的问题。

仅供参考,这是我的“行为”信息中心:

enter image description here

我的来历

enter image description here

2 个答案:

答案 0 :(得分:0)

设置CloudFront以处理HTTPS之后,您还需要配置WordPress,以便它使用HTTPS生成所有链接和资产来源。为此,您可以遵循documentation

简而言之:

  1. 转到“设置”->“常规”
  2. 在WordPress地址(URL)和站点地址(URL)中将http://更改为https://

enter image description here

答案 1 :(得分:0)

您可以通过AWS Console中的Origin Protocol Policy选项进行操作。选择HTTP Only

为此,请选择您的Cloudfront配置>选择Origins and Origin Groups标签>选择您的来源>单击Edit按钮

enter image description here

请记住,您正在为Origin做更改。您必须按照问题中的说明将Viewer Protocol Policy保留为Redirect HTTP to HTTPS,以便浏览器和Cloudfront之间的流量保持HTTPS,而Cloudfront通过Origin连接到您的HTTP < / p>

编辑:问题描述确实显示将origin设置为HTTP Only,这足以完成此工作。仔细检查您的发布版本是否处于Deployed状态。