透传 IP 问题

2016-07-18 10:44:50 +08:00
 pheyer
现在面对这样一种情况:
A 国直接访问 B 国的网站 X 被封锁,在 A 国访问 X 网站只能通过 B 国的代理 Y 来进行访问,但是对于 X 网站来说,它看到的不是来自 A 国的请求,而是代理 Y 的请求,也就是说看到的来源 IP 地址还是 B 国的 IP 地址。
有没有办法能让 X 网站看到的来源 IP 是 A 国的 IP 地址?

其实想想也有点矛盾,如果 X 网站能看到来源 IP 是 A 国的 IP 地址,它的 response 应该也是直接发向这个来源 IP ,不经过代理 Y 了。

有可能实现吗?
3771 次点击
所在节点    问与答
5 条回复
bdbai
2016-07-18 11:10:13 +08:00
如果 Y 是普通的 HTTP 代理的话,它会在往 X 发的请求头上加 X-Forwarded-For 指示来源地址。
pheyer
2016-07-18 11:36:12 +08:00
@bdbai 说的代理其实是 ss ,可能没那么简单
SoloCompany
2016-07-18 11:48:30 +08:00
当然不可以,否则不就可以随意伪造 ip 了
3dwelcome
2016-07-18 12:04:11 +08:00
一楼说的对、 ss 本身是不支持的、但你可以魔改一下本地 sock5 代理、让其支持 xff 头格式。就和普通的代理软件一样。

如果你看 discuz 代码、会发现都是优先选择 xff 、然后才考虑连接 ip 的。
hellboys
2016-07-18 13:32:36 +08:00
```其实想想也有点矛盾,如果 X 网站能看到来源 IP 是 A 国的 IP 地址,它的 response 应该也是直接发向这个来源 IP ,不经过代理 Y 了。```

如果 Y 已经和 X 建立连接了, 那网络层就不会甩开 Y 和你直连了. response 是应用层, 你说的是网络层,不是同一层面问题.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/293142

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX