是否可以将代理服务器(IP 和其他标头)识别为发起请求的用户?
示例 1(标准用例):
我有一个代理服务器a.com
,它将所有请求代理到b.com
。传统b.com
上将收到一个X-Forwarded-For
标识最终用户的标头(这没问题,因为我想b.com
知道用户的 IP)。
示例 2(相关用例):
我有一个代理服务器a.com
,它将所有请求代理到b.com
。我不想b.com
知道请求是通过代理发送的。我想a.com
将自己标识为请求的发起者。
用户向127.0.0.1
发出请求并认为该请求直接来自。GET
a.com
b.com
127.0.0.1
示例2 可能吗?
答案1
如果你使用 Squid 作为代理,只需编辑 squid.conf 并设置
forwarded_for = delete
这将删除整个 X-Forwarded-for 标头。
但这并不能掩盖客户端的 IP 地址将显示为 a.com 而不是客户端 IP 的事实。代理服务器 IP 将显示为 TCP 不允许成功伪造源地址,因为三次握手失败。也就是说,如果您正在进行 NAT,您将显示为 NAT 的 IP。
希望有所帮助。