http - 对转发标题感到困惑
问题描述
标头的新标准(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded)让我感到困惑。我还尝试阅读规范(https://datatracker.ietf.org/doc/html/rfc7239#section-4),它同样令人困惑。
我有这样的基本配置:
客户端 -> 入口(负载均衡器)-> 反向代理 -> 服务
Forwaded 头定义了四个字段,如下所示:
- by - 请求进入代理服务器的接口。
- for - 发起请求的客户端和代理链中的后续代理。
- host - 代理收到的 Host 请求头字段。
- proto - 指示用于发出请求的协议(通常是“http”或“https”)。
在我的情况下,这些中的每一个都将设置为什么(不包括原型,这是显而易见的)?“for”似乎只是客户端主机,但后来我不明白“代理链”是什么意思。我认为它不适用于我的示例,但我仍然想了解。
我的代理有一个注册表,可以查找我的所有服务,所以到目前为止,我在代理中设置了这个标头。那是它打算设置的地方吗?感谢任何可以提前回答的人。
解决方案
我不知道任何实现此标头的 Kubernetes 入口控制器。X-Forwarded-For 和 X-Forwarded-Proto 基本上是所有东西都使用的。
推荐阅读
- python - Python matplolib图例如何减少框架左边缘和标记之间的距离
- node.js - 删除 Windows 10 上的所有文件夹
- javascript - 当虚拟键盘打开时优雅地防止固定元素移动
- sqlite - Symfony:刷新测试数据库以进行 phpunit 测试,并在添加的夹具上重置自动增量
- php - 激活另一个主题时 WordPress 超时
- c - 对输入文本文件的内容进行排序并用c语言创建一个make qemu
- python - 关于 IntEnum 的一个奇怪的“ImportError”
- go - 上传文件时杜松子酒不断返回204
- r - 用空格分隔以输出块 RMarkdown
- php - Woocommerce - 通过代码手动创建订单