我使用 AWS 中的 Application Load Balancer 作为 API 网关:用于将请求转发到 AWS 中运行的不同应用程序。我已经为它配置了对 HTTP 和 HTTPS 的支持。HTTPS 侦听器包含请求转发的所有逻辑规则。HTTP 侦听器配置了一条规则:将所有流量重定向到 HTTPS 侦听器 ({host}:443/#{path}?#{query}) 并返回 301。
HTTPS 完美运行。HTTP 适用于 GET 请求。但是我发现对 HTTP 的 POST 请求在重定向到 HTTPS 时会转换为 GET 请求,这显然以 404 结束。
我在网上发现问题处于 301 状态(https://rtfm.co.ua/en/http-redirects-post-and-get-requests-and-lost-data/#The_root_cause_3xx_redirects_and_HTTP_RFC)。但不幸的是,AWS ALB 规则中没有选项可以重定向请求并返回 307 而不是 301。
那么有谁知道我该如何解决这个问题?谢谢!