小编Bal*_*tar的帖子

是否有链接 x-forwarded-for 标头的标准?

IETF RFC 2616 第 4.2 节允许请求包含具有相同字段名称的多个标头,只要保留插入的时间顺序,并且它们的值可以转换为具有逗号分隔值列表的单个标头。

http://tools.ietf.org/html/rfc2616#section-4.2

当且仅当该头字段的整个字段值被定义为逗号分隔列表[即,#(values)] 时,消息中可能存在具有相同字段名的消息头字段。通过将每个后续字段值附加到第一个字段值,每个字段值用逗号分隔,必须可以将多个标题字段组合成一个“字段名称:字段值”对,而不改变消息的语义。因此,接收具有相同字段名的头字段的顺序对组合字段值的解释很重要,因此当转发消息时,代理不得更改这些字段值的顺序。F5 不会覆盖任何现有的 X-Forwarded-For。它也不会将现有的 X-Forwarded-For 连接成一个逗号分隔的值。反而,

但是,如果环境中有多个客户端、代理、CDN、流量管理器、参与操作X-Forwarded-For集合的服务器呢?

执行统一的做法似乎有好处。但最佳实践是什么?

F5 BIG-IP 默认 http 配置文件插入标头X-Forwarded-For在请求的预先存在的 XFF 标头集合的末尾累积一个附加标头,以保留顺序。

AWS ELB 鼓励将传入请求的多个X-Forwarded-For合并到一个包含以逗号分隔的 XFF IP 列表以及用户主机地址的单个标头中,以保留顺序。

其他设备可以采用其他变体。

是否存在针对异构环境的商定建议或事实上的标准?

此外,是否提供了任何时间戳数据,以允许代码X-Forwarded-For在先前对 XFF 标头的操作可疑的情况下按添加的时间顺序对标头进行明确排序。

http-headers haproxy f5-big-ip x-forwarded-for amazon-elb

4
推荐指数
1
解决办法
3897
查看次数