我的直接经理给我分配了一项任务,确保公司所有的网站都有"X-Forwarded- for“HTTP标头集,以便为我们的Web应用程序防火墙日志接收用户的原始IP。
我不是一个开发人员,但我需要确保我们的开发人员做到这一点,他们似乎不理解什么需要在头中的价值。
因为看一些例子,好像有些人把具体的IP放成这样:
X-Forwarded-For: <client>, <proxy1>, <proxy2>这对我来说没有任何意义,因为当每个值都是完全随机的时,你怎么能在值中键入IP呢?
基本上,我需要我们的日志将包含真实的IP从每台计算机,其中冲浪背后的代理或负载均衡器。
希望获得一些帮助:)
谢谢!
发布于 2021-11-07 13:38:22
如果在客户端和应用服务器之间有一个反向代理(或负载均衡器),则代理应添加标头:
X-Forwarded-For: <client>在将请求转发到应用服务器之前。应用服务器接收来自代理IP的请求,但是可以从报头的值推断出客户端的IP。
如果在客户端和应用服务器之间有两个反向代理(或负载均衡器),则第一个代理(离客户端最近的代理)的作用与上面相同。
第二代理接收来自代理1的IP的请求,并且还接收来自proxy1的X-Forwarded-For报头。然后,它附加接收请求的IP地址(proxy1),并将更新后的报头传递给应用服务器,如下所示:
X-Forwarded-For: <client>, <proxy1>每个代理或负载均衡器负责创建报头(如果报头不存在),并附加接收请求的的IP地址(即链中的前一步)。
只有第一个IP地址是识别客户端所必需的,其余的IP地址是确保报头未被伪造所必需的。
https://stackoverflow.com/questions/69872767
复制相似问题