HTTPS的搭建方式:
1、HTTPS代理存在重大问题。一般代理应建立通道。该代理接收请求后,将建立的baihtp/1.1200连接发送到服务器,然后直接转发双方的通信。通过这种方式,服务器将知道客户端在代理之后。
若代理人冒充顾客,则是对中间人的攻击。您通常无法获取客户端访问的网址。可能的解决方案是自己签个证书?
2、当浏览器使用代理服务器设置时,向代理发送的内容与向服务器发送但没有使用的内容不同。就我所知,直接访问通常是GET/HTTP/1.1,发送到代理的时候会带上域名。不知你说的是哪一个题目。因此我们需要确定。另外,我还不知道HOST字段具体指什么。是否应该根据请求的路径或主机建立适当的代理连接?要是你知道什么,就告诉我…HOST在不同浏览器上有一些不同。记住使用https,Firefox或Opera会显示:443…因此我们无法确定到底有多少坑。
3、有一种实现方式与主题相似,即假扮客户服务器和客户服务器进行拦截代理。但是,根据polipo作者的说法,此实现存在很大的问题,很难说明它是否能保证与协议兼容。
以上就是关于搭建免费https代理的小技巧有哪些的全部介绍了,希望能够给大家带来帮助。
文章部分内容源于网络,联系侵删*
1. HTTPS代理问题很大,正常的代理应该是建立一个隧道,proxy 收到请求之后,向 server 发送HTTP/1.1 200 Connection established,然后直接转发双方通信。这样 server 一定会知道 client 在 proxy 后面。如果 proxy 假装是 client,那就是中间人攻击了。正常来讲,你不可能获得 client 访问的 URL 到底是什么。解决方法也许可以自签一个证书?
2. 浏览器使用代理服务器设置时候,发给 proxy 的内容和没有使用发给 server 的内容是不同的。起码据我所知,直接访问一般会是 GET / HTTP/1.1而发给 proxy 的会带着域名。题主所说 header 那个不知道。所以需要确认一下。而且,HOST 那个字段具体什么含义我现在还搞不清楚,正确的 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.
不过,题主这种需求肯定有人想过。多 Google 一下应该有可用的、不完美的方案,但是既然标签里加了 VPS,我猜其实只是想找个好用的 FQ 方法吧?
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)