【发布时间】: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