在AWS EC2 ELB SSL上运行WordPress时出现503错误

时间:2016-08-28 20:08:14

标签: wordpress amazon-web-services ssl amazon-ec2 amazon-elb

我刚开始使用AWS ...

我有1个EC2实例,它正在运行WordPress(WordPress由来自市场的Bitnami图像驱动 - https://aws.amazon.com/marketplace/pp/B007IP8BKQ)。 一切正常,我可以访问从标准http。

运行的WP安装的前端和后端

当我将实例连接到ELB并且我尝试通过https访问该站点时,问题就开始了。

我已经完成了使用ACM设置SSL证书并将证书应用于ELB的过程。我还在EC2实例的安全组上启用了443和80端口。 ELB上的端口转发设置为443和80,转到80,我的WP配置文件设置为检查HTTP_X_FORWARDED_PROTO标头以阻止WP进入无限重定向循环。

我认为这一切都正常,因为我可以通过https访问该网站并浏览页面。但是,当我尝试登录时,我被重定向到http并解决了这个问题,我已经设置了wp站点url和wp home来转到https URL。这会导致大量503错误(503服务不可用:后端服务器处于容量状态)。从AWS Dashboard我可以看到Instance运行正常。

我已经研究了很多,以确保我已经正确设置了所有东西(我遇到了一些线程 - Link 1 Link 2)并且一切似乎都很好(但有些事情是错误的)

有关如何让ELB工作的任何建议吗?

1 个答案:

答案 0 :(得分:0)

在Wordpress根目录的.htaccess文件中,您是否尝试添加

<IfModule mod_setenvif.c>
  SetEnvIf X-Forwarded-Proto "^https$" HTTPS
</IfModule>
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
  RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

另外,请确保wp_options表格中siteurl设置为https://并home设置为https://