【问题标题】:HTTPS error in wordpress site hosted in AWS ECS fargate container [SOLVED]AWS ECS fargate 容器中托管的 wordpress 站点中的 HTTPS 错误 [已解决]
【发布时间】:2020-10-03 08:43:47
【问题描述】:

我正在尝试将 WordPress 站点与 RDS 一起托管在 ECS Fargate 中。

这就是我在 ECS Fargate 中安装 Wordpress 的方式。

  1. ECS 集群 - 任务 - 已安装 WordPress
  2. rds - MySQL - 连接 WordPress
  3. 对于这一步:WordPress 站点已启动并正在运行 - http://xxxxxxxxxxxxxx(带有 IP 地址)
  4. 下一步,我想将 HTTP 更改为 https,然后将 SSL 安装到 ALB:
  5. 应用程序负载均衡器设置并添加了指向我的 WordPress ECS 私有 IP 的目标组。 (参考:redirect http to https

    这是负载均衡器从中转发的目标组

  6. alrdy 在路由 53 中添加了指向该负载均衡器的记录。 至此,该站点仍以 HTTP 状态运行。

都在同一个 VPC、安全组下运行。

然后,我在 WordPress 的管理仪表板中使用 HTTPS 更改了 URL 和站点 URL 设置,然后站点完全关闭,无法再访问。当我尝试访问 HTTPS 和 HTTP 的 URL 时出现此错误:`502: Bad Gateway'


更新:我通过添加一些行修改了 wordpress docker 图像 与 SSL 强制相关,并在 ECS 容器中用作基础镜像。 那么,https 就可以了。


【问题讨论】:

  • 你能检查一下重定向试图做什么吗?听起来它可能在两个域之间的重定向循环中
  • 我通过添加监听器设置编辑了问题,请再次检查
  • 目标组配置如何查找 443 监听器?
  • 不,这是应用负载均衡器的监听设置
  • 是的,我的意思是,目标组设置是什么样的。你是转发到 HTTP 吗?我猜测站点 url 可能应该使用 http 而不是 https,因为应用程序是通过容器中的 HTTP 加载的。

标签: wordpress amazon-web-services ssl https amazon-ecs


【解决方案1】:

这里的问题是documented by Wordpress,因为 ALB 将像代理一样提供。

不幸的是,更改似乎需要更改 wp-config.php 文件。

建议的修复方法是将以下代码 sn-p 添加到文件中,这样您的 Wordpress 就不会陷入此重定向循环。

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';

如果 X-Forwarded-Proto 设置为 HTTPS,这将更新 $_SERVER['HTTPS'] 值。这将通过负载均衡器进行设置。

【讨论】:

  • 是的,但我正在使用无法访问配置文件的 ecs 容器。
  • 我明白,不幸的是,问题是您的网站陷入了重定向循环,因为网站 URL 使用的是 https,但容器运行的是 http。在后端,它不断尝试重定向您,因此陷入循环。另一种方法是在后端更新 http,但是某些 URL 可能会损坏。
  • 如果我在 ecs 中托管 wordpress,我就不能更改为 https 吗?
猜你喜欢
  • 2022-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-10-29
  • 1970-01-01
  • 2022-06-28
  • 1970-01-01
  • 2022-11-12
  • 1970-01-01
相关资源
最近更新 更多