【问题标题】:Kubernetes: Preserving HTTP method with NGINX Ingress simple fanoutKubernetes:使用 NGINX Ingress 简单扇出保留 HTTP 方法
【发布时间】:2026-02-09 11:05:02
【问题描述】:

当我们使用“简单扇出”Ingress 模式时,如下所述:https://v1-18.docs.kubernetes.io/docs/concepts/services-networking/ingress/#simple-fanout(我们使用的是 v1.18),Ingress 执行简单的重定向,发送 302 - Found

这会导致 HTTP 方法更改为 GET。

我正在尝试让 Ingress 给出 307 或 308 响应。

我尝试过使用 NGINX/k8s 注释,并尝试在此处应用这种方法:Kubernetes NGINX Ingress changes HTTP request from a POST to a GET 但这不起作用

我们有 2 个应用程序在后台使用不同的端口映射到同一台服务器。

奇怪的是,curl 可以很好地保留 POST

【问题讨论】:

  • 您是否可以提供您的 Ingress 资源?

标签: nginx kubernetes


【解决方案1】:

最终它与 K8S 或 NGINX 没有任何关系:

我想使用的端点被映射到上下文中的“/”(即/blah/

由于它是一个 API,带有斜杠的东西是不寻常的,所以我用 /blah 来引用它,底层应用服务器用 302 重写为 /blah/

通过使用/v1 作为上下文(和入口路径)来修复它,所以我可以拥有/v1/blah,它不会重写/重定向。

【讨论】: