【问题标题】:503 error when running WordPress on AWS EC2 ELB SSL在 AWS EC2 ELB SSL 上运行 WordPress 时出现 503 错误
【发布时间】:2017-01-04 20:09:05
【问题描述】:

我刚开始使用 AWS...

我有 1 个EC2 Instance,它正在运行 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 主页 URL 设置为 HTTPS。这会导致大量 503 错误 (503 Service Unavailable: Back-end server is at capacity)。从 AWS 仪表板中,我可以看到实例运行良好。

我进行了大量研究,以确保我已正确设置所有内容(我遇到的一些线程 - Link 1 Link 2 )并且一切似乎都很好(但有些东西是错误的)。

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

【问题讨论】:

  • @jbird 我有,谢谢。我已经在我的配置文件中检查标题: if( $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ){ $_SERVER['HTTPS'] = 'on'; }
  • 这会导致大量的 503 错误 -- 当“后端服务器已满”不一定准确描述问题。您是否检查过网络服务器日志,看看网络服务器是否真的看到了这些失败的请求,以及这些请求的结果是什么?
  • 我是 AWS 的新手,如何访问这些,@Michael-sqlbot?我需要安装 CloudWatch 还是可以通过 ftp/ssh 访问它们?
  • 服务器上的日志,您可以通过 ssh 连接到服务器。文件名和位置各不相同,但sudo ls -ltr /var/log 并检查最后几个条目通常是一个不错的选择。对于 ELB 经典,请参阅access log collection。日志被写入 S3,您可以在其中获取并读取它们。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-12-15
    • 1970-01-01
    • 2016-02-04
    • 2018-11-16
    • 2014-11-04
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 2015-09-28
    相关资源
    最近更新 更多