【问题标题】:Https on Elastic Beanstalk - wordpressElastic Beanstalk 上的 Https - wordpress
【发布时间】:2015-05-27 16:42:21
【问题描述】:

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

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

所以,问题是在 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导航网站时网站不会崩溃

【问题讨论】:

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


    【解决方案1】:

    刚刚添加帖子后,我已经设法解决了这个问题。

    为了以后参考,解决方法是添加这个变量$_SERVER['HTTPS'],设置为'on'

    这是我的代码

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 2020-09-28
      • 2019-02-05
      • 2018-08-14
      • 2012-09-10
      • 2017-10-14
      • 1970-01-01
      • 2018-11-18
      • 2023-03-09
      相关资源
      最近更新 更多