我刚开始使用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工作的任何建议吗?
答案 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://