让我先解释一下我们的架构。
www.example.com CNAME指向cloudfront分发(d3xxxxx.cloudfront.net)
Cloudfront的起源:route.example.com.我们在cloudfront分发中选择了Whitelist Headers作为HOST
在Cloudfront上为域安装的SSL:www.example.com
route.domain.com指向安装了apache webserver和wordpress的谷歌云服务器。
问题1.当我们点击URL www.example.com而不应用SSL证书时,主页加载www.example.com,但内部链接重定向到'route.example.com'而不是www.example.com。我们相信这是因为WordPress上的siteurl使用route.example.com
问题2。在cloudfront上应用SSL证书后,当我们点击URL ' https://www.example.com '时,网站最终出现太多重定向
我们已经尝试了URL“WordPress + CloudFront Flexible SSL ends up in redirect loop (https)“,它似乎并没有帮助我们。
目标:我们希望www.example.com使用cloudfront分发沿着SSL,不希望将Web服务器暴露给最终用户。cloudfront的起源应该是route.example.com这将有WordPress的应用程序。
如果你能帮忙的话,我将不胜感激。
3条答案
按热度按时间sz81bmfz1#
我们也遇到过类似的问题。在我们的例子中,我们没有使用自定义域名,而是使用CloudFront URL。
为了让HTTPS正常工作,我们必须做两件事:
1.确保
CloudFront-Forwarded-Proto
头在所有缓存行为中都被转发,包括默认缓存行为。1.将以下代码段添加到
wp-config.php
之前的require_once( ABSPATH . 'wp-settings.php' );
:代码片段本质上告诉WordPress我们正在反向代理后面运行。这使它能够正确响应HTTPS请求。
u5rb5r592#
Cloudfront Distribution Settings我知道这是旧的,但我发现一个原因,这是如果你设置默认的根对象在您的发行到“index.php”的wordpress网站,它会导致这些无限重定向.
如果你缓存的是一个WordPress站点,请将此可选参数留空!
hpcdzsge3#
我知道这是一个老问题,但是,当我在这里结束的时候,我想我应该把我的错误贴出来!我们使用Lightsail。
在你的发行版的
details
页面的底部,你可以设置它如何从你的源文件中提取内容。我们把它设置为http
,而我们的网站实际上是https
(我希望大多数人都是这样)。更改此设置修复了重定向问题。