如何管理ALB中目标群体的3xx响应



我在ECS+FARGATE上部署了一个Odoo实例作为服务,它被分配给了一个目标组。

在ALB上,我在端口443上有一个带有ACM的侦听器,它重定向该目标组上的流量。

连接正常,我可以从ALB联系Odoo服务。

问题是,Odoo可以用3xx代码进行响应,我可以在浏览器地址栏上看到url发生了变化。但是我没有加载新页面,而是出现了一个错误。

如果使用这个相同的url(重定向产生的url(直接重新发送请求,则页面将按预期加载。

如果我在没有ALB的情况下直接连接到该服务,它可以正常工作。

据我所知,ALB没有管理目标组的3xx响应代码,所以它给出了一个错误。

我能做些什么来解决这个重定向问题?

编辑:问题解决了,以下是我尝试的:我试着将侦听器设置为HTTP而不是HTTPS,效果很好。之后,我在HTTPS上重新配置了侦听器,并添加了一个返回固定响应的HTTP侦听器。尝试单击服务器的url,该url返回3xx代码,我得到的不是错误,而是修复的响应。在实践中,ALB后面的服务器在端口80上侦听,因此当它发出重定向时,它会在HTTP上进行重定向。ALB以HTTP形式接收,但没有侦听。它仅在HTTPS上配置。因此出现了错误。我解决了配置两个侦听器的问题:

  • HTTPS侦听器,它将流量转发到目标组
  • 重定向到HTTPS的HTTP侦听器

在ALB上,我在端口443上有一个带有ACM的侦听器,它重定向该目标组上的流量。

流量转发到目标组。它不会重定向流量。

问题是,Odoo可以用3xx代码响应,我可以在浏览器地址栏上看到url发生了变化。但是我没有加载新页面,而是出现了一个错误。

在问题中包含该错误的详细信息将是需要包含在问题中的关键细节。您需要编辑您的问题以包含该错误的详细信息,以便获得更详细的帮助。

如果使用这个相同的url(重定向产生的url(直接重新发送请求,页面将按预期加载。

如果在没有更改的情况下重新发送确切的请求有效,则服务器软件或其他方面存在问题。使用ALB不会让第二次发送请求突然生效。

据我所知,ALB没有管理目标组的3xx响应代码,因此它给出了一个错误。

这是不对的。ALB将愉快地将任何响应和任何HTTP响应代码从服务器发送回客户端。您可能遇到的唯一问题是,在目标组上配置的运行状况检查URL是否正在发送200HTTP响应以外的内容。健康检查请求是ALB/目标组检查响应代码的唯一请求。

最新更新