首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X-Forwarded-For HTTP Header实现-需要解释

X-Forwarded-For HTTP Header实现-需要解释
EN

Stack Overflow用户
提问于 2021-11-07 13:13:51
回答 1查看 222关注 0票数 1

我的直接经理给我分配了一项任务,确保公司所有的网站都有"X-Forwarded- for“HTTP标头集,以便为我们的Web应用程序防火墙日志接收用户的原始IP。

我不是一个开发人员,但我需要确保我们的开发人员做到这一点,他们似乎不理解什么需要在头中的价值。

因为看一些例子,好像有些人把具体的IP放成这样:

代码语言:javascript
复制
X-Forwarded-For: <client>, <proxy1>, <proxy2>

这对我来说没有任何意义,因为当每个值都是完全随机的时,你怎么能在值中键入IP呢?

基本上,我需要我们的日志将包含真实的IP从每台计算机,其中冲浪背后的代理或负载均衡器。

希望获得一些帮助:)

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-11-07 13:38:22

如果在客户端和应用服务器之间有一个反向代理(或负载均衡器),则代理应添加标头:

代码语言:javascript
复制
X-Forwarded-For: <client>

在将请求转发到应用服务器之前。应用服务器接收来自代理IP的请求,但是可以从报头的值推断出客户端的IP。

如果在客户端和应用服务器之间有两个反向代理(或负载均衡器),则第一个代理(离客户端最近的代理)的作用与上面相同。

第二代理接收来自代理1的IP的请求,并且还接收来自proxy1的X-Forwarded-For报头。然后,它附加接收请求的IP地址(proxy1),并将更新后的报头传递给应用服务器,如下所示:

代码语言:javascript
复制
X-Forwarded-For: <client>, <proxy1>

每个代理或负载均衡器负责创建报头(如果报头不存在),并附加接收请求的的IP地址(即链中的前一步)。

只有第一个IP地址是识别客户端所必需的,其余的IP地址是确保报头未被伪造所必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69872767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档