使用 Application Load Balancer 在 Elastic Beanstalk 上重定向错误
Redirect Error on Elastic Beanstalk with Application Load Balancer
我在 Elastic Beanstalk 上有一个 Laravel 应用程序 运行。该应用程序在一个 EC2 实例 运行 上运行良好,但每当 EB 扩展并添加第二个实例时,该应用程序会将所有请求重定向回登录页面,并最终因 ERR_TOO_MANY_REDIRECTS 错误而失败。 EB 最终缩减为一个实例,一切又恢复正常。
我已遵循 AWS 步骤 here to redirect HTTP to HTTPS using listeners. The problem seems similar to this one,但我使用的是 Application Load Balancer 而不是 Classic LB,我已经以“正确”的方式设置了重定向,并且我已确保在 nginx 或 .htaccess 级别没有设置其他重定向。
我正在使用 Laravel 的 URL::forceScheme('https') 将链接重写为 https,但我认为这对重定向没有任何影响。
任何人都可以建议后续的调试步骤吗?目前,我发现的唯一预防性解决方法是将 EB 限制为单个实例。
我在 EB 上使用 ALB 的 laravel 应用程序发生了相同的情况,但无法弄清楚为什么会发生重定向(认为是由于 .htaccess 文件上的重写规则导致请求无休止地从一个实例跳到另一个实例)。在我的例子中,用户一直被重定向到登录页面。
在我的目标组上配置 sticky sessions 解决了这个问题。我使用负载均衡器生成的 cookie 作为类型和 1 小时的持续时间。
我在 Elastic Beanstalk 上有一个 Laravel 应用程序 运行。该应用程序在一个 EC2 实例 运行 上运行良好,但每当 EB 扩展并添加第二个实例时,该应用程序会将所有请求重定向回登录页面,并最终因 ERR_TOO_MANY_REDIRECTS 错误而失败。 EB 最终缩减为一个实例,一切又恢复正常。
我已遵循 AWS 步骤 here to redirect HTTP to HTTPS using listeners. The problem seems similar to this one,但我使用的是 Application Load Balancer 而不是 Classic LB,我已经以“正确”的方式设置了重定向,并且我已确保在 nginx 或 .htaccess 级别没有设置其他重定向。
我正在使用 Laravel 的 URL::forceScheme('https') 将链接重写为 https,但我认为这对重定向没有任何影响。
任何人都可以建议后续的调试步骤吗?目前,我发现的唯一预防性解决方法是将 EB 限制为单个实例。
我在 EB 上使用 ALB 的 laravel 应用程序发生了相同的情况,但无法弄清楚为什么会发生重定向(认为是由于 .htaccess 文件上的重写规则导致请求无休止地从一个实例跳到另一个实例)。在我的例子中,用户一直被重定向到登录页面。
在我的目标组上配置 sticky sessions 解决了这个问题。我使用负载均衡器生成的 cookie 作为类型和 1 小时的持续时间。