使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

当我将负载均衡器放置在 IntelliTrace 实例之前时,如何避免重定向循环?

2 分钟阅读
0

当我将弹性负载均衡(ELB)应用程序负载均衡器或 Amazon Lightsail 负载均衡器放置在我的 Amazon Lightsail WordPress 实例之前时,我会创建一个重定向循环。

简短描述

示例场景

您使用 Bitnami HTTPS 配置工具 bncert 在 Lightsail WordPress 实例上配置了重定向。该实例从 HTTP 重定向到 HTTPS,并从非 www 域重定向到 www 域。您配置了 DNS,使域名(example.com 和 www.example.com)指向 Lightsail 实例的 IP 地址,如以下示例所示:

http://example.com > Lightsail 实例 > https://example.com > Lightsail 实例 > 200 OK

您在此实例前面配置了应用程序负载均衡器,并将域指向应用程序负载均衡器。此设置会创建一个重定向循环,因为 Lightsail 实例始终通过 HTTP 端口 80 接收请求并重定向到 https://example.com。

example.com > http://xyz.ap-south-1.elb.amazonaws.com > http://your_lightsail_IP_address > https://example.com > https://xyz.ap-south-1.elb.amazonaws.com > http://your_lightsail_IP_address

解决方法

Lightsail 负载均衡器

为了避免重定向循环,请在实例上仅使用非 www 到 www 重定向。在 Lightsail 负载均衡器上执行 HTTP 到 HTTPS 重定向。

步骤 1: 重新配置 bncert

1.    要使用 bncert 工具,请运行以下命令:

sudo /opt/bitnami/bncert-tool

2.    对于输入您的主域名和备用域名,输入已指向 Lightsail 实例的域。另外,输入次域的 www 子域。

3.    对于启用 HTTP 到 HTTPS 重定向,选择 N。这将关闭 HTTP 到 HTTPS 重定向。

4.    对于启用非 www 到 www 重定向,选择 Y

5.    对于启用 www 到非 www 重定向,选择 N

6.    查看更改,输入 Y,然后按 Enter

有关详细信息,请参阅 Amazon Lightsail 文档中的 Step 5: Turn on HTTPS on your WordPress instance

步骤 2.使用从 HTTP 到 HTTPS 的重定向创建 Lightsail 负载均衡器

1.    创建 Lightsail 负载均衡器,然后向其附加实例。

2.    为 example.com 和 www.example.com 创建 SSL/TLS 证书。将域名和子域名替换为您的域名和子域的名称。

3.    要打开 TLS 侦听器,请将 SSL/TLS 证书附加到 Lightsail 负载均衡器。

4.    在 Lightsail 负载均衡器的协议部分,切换方向选项以启用 HTTP 到 HTTPS 重定向

现在,Lightsail 负载均衡器的 DNS 名称会重定向到负载均衡器的 www 子域。

步骤 3: 更新 DNS

在 DNS 配置中,将 example.com 和 www.example.com 指向 Lightsail 负载均衡器的 DNS 名称。

应用程序负载均衡器

对于 Lightsail 实例前面的应用程序负载均衡器,请仅在 Lightsail 实例上保留 HTTP 到 HTTPS 重定向。

1.    打开 Amazon Elastic Compute Cloud(Amazon EC2)控制台

2.    在负载均衡下,选择目标组

3,    选择创建目标组

4.    为端口 80 和 443 创建名为 tg-80tg-443目标组

5.    对于目标类型,选择 IP

6.    对于注册目标网络,选择其他私有 IP,然后指定 Lightsail 实例的 IP 地址。

7.    创建应用程序负载均衡器。在端口 80 上创建指向目标组 tg-80 的路由侦听器,在端口 443 上创建指向目标组 tg-443 的侦听器。

8.    更新 example.com 和 www.example.com 的 DNS 记录,使其指向应用程序负载均衡器的 DNS 名称。

利用此配置,应用程序负载均衡器会通过 HTTPS 将 HTTPS 请求转发给 Amazon Lightsail。因此,您会收到 200 OK 响应。

AWS 官方
AWS 官方已更新 1 年前