在Elastic Beanstalk上的Https - wordpress

时间:2015-03-24 11:29:33

标签: wordpress amazon-web-services https elastic-beanstalk

我在aws eb单一实例上运行的wordpress网站上遇到了一个烦人的问题。

我在vps中拥有相同的网站,https工作正常,样式和CSS通过https提供。只是为了确定(我花了两天时间试图找出问题所在)几分钟前我在eb上部署了一份网站副本 - 仅编辑数据库设置。

所以,问题在于,如果我转到https://mywebsite.com页面被“破坏”,则样式和脚本通过http服务器。

在vps中,如果我转到https://mywebsite.com样式和脚本https://mywebsite.com/styles/style.css,则eb样式和脚本为http://mywebsite.com/styles/style.css

为什么会发生这种情况,我该如何解决?

我已尝试编辑wp_options表并将siteurl和home设置为https://mywebsite.com(vps中的同一网站的值设置为http://mywebsite.com

AWS Elasticbeanstalk single instance Force SSL Redirect loop htaccess(强制https或仅强制http)简单地被忽略,我尝试了很多解决方案,但没有人工作。对我有用的唯一解决方案是在检查服务器变量http_x_forwarded_server是否已设置后,将php重定向到http

我已经读过所有https连接 - 在eb单实例中 - 通过端口443被“代理”到端口80(这可能是问题?)

那么,任何解决方案?我不想在网站上强制使用https,所以我不想安装强制https的插件,我只是希望在通过https导航网站时网站没有破坏

1 个答案:

答案 0 :(得分:1)

在添加帖子之后,我设法解决了这个问题。

对于将来的参考,解决方案是添加此变量$_SERVER['HTTPS']并将其设置为'on'

这是我的代码

if(isset($_SERVER['HTTP_X_FORWARDED_SERVER'])) {
  $_SERVER['HTTPS'] = 'on';
}

您可以将它添加到index.php,或者像我一样,添加到主题的header.php中(在这种情况下,请注意,如果更改主题,则代码将不会执行)