首页 > 解决方案 > 对转发标题感到困惑

问题描述

标头的新标准(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded)让我感到困惑。我还尝试阅读规范(https://datatracker.ietf.org/doc/html/rfc7239#section-4),它同样令人困惑。

我有这样的基本配置:

客户端 -> 入口(负载均衡器)-> 反向代理 -> 服务

Forwaded 头定义了四个字段,如下所示:

  1. by - 请求进入代理服务器的接口。
  2. for - 发起请求的客户端和代理链中的后续代理。
  3. host - 代理收到的 Host 请求头字段。
  4. proto - 指示用于发出请求的协议(通常是“http”或“https”)。

在我的情况下,这些中的每一个都将设置为什么(不包括原型,这是显而易见的)?“for”似乎只是客户端主机,但后来我不明白“代理链”是什么意思。我认为它不适用于我的示例,但我仍然想了解。

我的代理有一个注册表,可以查找我的所有服务,所以到目前为止,我在代理中设置了这个标头。那是它打算设置的地方吗?感谢任何可以提前回答的人。

标签: httpkubernetesnetworkinghttp-headers

解决方案


我不知道任何实现此标头的 Kubernetes 入口控制器。X-Forwarded-For 和 X-Forwarded-Proto 基本上是所有东西都使用的。


推荐阅读