我刚开始使用 AWS ...
我有 1 个 EC2 Instance ,它正在运行 WordPress(WordPress 由来自 Marketplace 的 Bitnami 图像 - https://aws.amazon.com/marketplace/pp/B007IP8BKQ 提供支持)。
一切正常,我可以访问从标准 HTTP 运行的 WP 安装的前端和后端。
当我将实例连接到 ELB 并且我试图通过 HTTPS 访问该站点时,问题就开始了。
我已经完成了使用 ACM 设置 SSL 证书的过程,并将该证书应用于 ELB。我还在 EC2 实例的安全组上启用了 443 和 80 端口。 ELB 上的端口转发设置为 443 和 80 转到 80,我的 WP 配置文件设置为检查 H TTP_X_FORWARDED_PROTO header 以阻止 WP 进入无限重定向循环。
我认为这一切正常,因为我可以通过 HTTPS 访问该站点并浏览页面。但是,当我尝试登录时,我被重定向到 HTTP,为了解决这个问题,我将 WP 站点 URL 和 WP 主页 URL 设置为 HTTPS。这会导致大量 503 错误( 503 Service Unavailable: Back-end server is at capacity )。从 AWS 仪表板中,我可以看到实例运行良好。
我已经进行了大量研究以确保我已正确设置所有内容(我遇到的一些线程 - Link 1 Link 2 )并且一切似乎都很好(但有些地方显然是错误的)。
关于如何让 ELB 工作的任何建议?

最佳答案

在您的 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://

关于wordpress - 在 AWS EC2 ELB SSL 上运行 WordPress 时出现 503 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39195321/

10-11 08:26
查看更多