我有一个 AWS ALB 配置为它应该将https://example.com/api/v1/ * 的请求重定向 (302) 到另一个区域。然而,事实证明,hte AWS ALB 的 REDIRECT 功能正在将所有 http: 方法(POST、PUT、...)更改为 GET - 所以在目标服务器上,我只收到“GET”请求。
现在不知道这是不是
- 预期行为
- AWS 中的一个错误
- 设置问题
任何人都可以帮助解决这个难题吗?
我有一个 AWS ALB 配置为它应该将https://example.com/api/v1/ * 的请求重定向 (302) 到另一个区域。然而,事实证明,hte AWS ALB 的 REDIRECT 功能正在将所有 http: 方法(POST、PUT、...)更改为 GET - 所以在目标服务器上,我只收到“GET”请求。
现在不知道这是不是
任何人都可以帮助解决这个难题吗?
我认为这是预期的行为。
您遇到的问题由以下内容组成:
让我更详细地解释一下:
[1] https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions
[2] https://softwareengineering.stackexchange.com/questions/99894/why -doesnt-http-have-post-redirect
[3] HTTP POST => 302 重定向到 GET 的正确行为是什么?
[4] https://www.ietf.org/rfc/rfc2616.txt
[5] https://linux.die.net/man/1/curl
供参考:我们最终设置了 rewrite resp。运行 NGINX 的代理上的重定向规则,其中 nginx.conf 文件提供了使用重定向 301 / 302 / 307 或 308 的完全灵活性。