温馨提示:本文翻译自stackoverflow.com,查看原文请点击:wordpress - AWS Elastic Beanstalk app initial access is not secure, but subsequent redirect is
amazon-elastic-beanstalk amazon-web-services https ssl wordpress

wordpress - AWS Elastic Beanstalk应用程序的初始访问不安全,但后续重定向是

发布于 2020-04-11 00:23:47

我正在使用Elastic Beanstalk(带有负载平衡器)来支持Wordpress网站。我已经通过证书管理器(ACM)设置了SSL,并启用了负载平衡器以在端口443上侦听HTTPS。我还尝试通过wp_config.php将以下行添加到我的源包中的来强制在Wordpress网站上进行HTTPS (许多帖子都建议):

define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
       $_SERVER['HTTPS']='on';

但是,我的问题是,当我尝试访问我的站点时,初始访问并不安全,即HTTP连接,但是当我尝试导航到其他页面并返回我的站点时,该连接立即变为安全的HTTPS连接。我想知道如何解决此问题,以便在首次访问该站点时强制使用HTTPS。之前,由于尝试强制使用HTTPS,我也遇到了“重定向过多”错误,而Wordpress这样做使它有些棘手,因此,我尝试避免这种情况。任何帮助深表感谢。谢谢!

查看更多

提问者
EdenHazard
被浏览
93
markwalker_ 2020-02-02 06:17

您可以将弹性beantalk扩展添加到您的环境中。通常,您会.ebextensions在应用程序的根目录中包含一个文件夹,以包含每个扩展。docs

如果您假设要运行nginx作为代理服务器,请10-nginx.config在extensions目录中添加一个名为的文件

files:
  "/etc/nginx/sites-available/elasticbeanstalk-nginx-docker-proxy.conf":
    content: |
      server {
          listen 80 default_server;

          server_name _;

          return 301 https://$host$request_uri;
      }

但是,您还应该考虑在负载均衡器上使用HTTPS终止,并使应用程序在环境网络的端口80上运行。

文档在这里;https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-httpredirect.html