如何搭建高级匿名的http(s)代理

2025-04-29 10:23:51

1、1. HTTPS代理问题很大,正常的代理应该是建立一个隧道,proxy 收到请求之后,向 server 发送HTTP/1.1 200 Connection established,然后直接转发双方通信。这样 server 一定会知道 client 在 proxy 后面。如果 proxy 假装是 client,那就是中间人攻击了。正常来讲,你不可能获得 client 访问的 URL 到底是什么。解决方法也许可以自签一个证书?

2、2. 浏览器使用代理服务器设置时候,发给 proxy 的内容和没有使用发给 server 的内容是不同的。起码据我所知,直接访问一般会是 GET / HTTP/1.1而发给 proxy 的会带着域名。正确的 proxy 到底要根据请求的 path 建立连接还是HOST?不同浏览器的 HOST 还有点不同。记得https时候 Firefox 还是 Opera 的 HOST 里会带:443

3、有一种和题主需求类似的实现,Interception proxying,Interception proxying 对 client 来说假装是 server,对 server 来说假装是 client。但是据 polipo 的作者说法,这种实现问题很大,不好说是不是能保证和协议兼容:Interception proxying is a fundamentally broken design (see for example this posting and RFC 3143, Section 2.2.2), and will not be supported by Polipo.

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢