简体   繁体   English

HTTPS Web(仅)代理

[英]HTTPS Web(only)Proxy

I just read over node-tls-proxy (http://code.google.com/p/node-tls-proxy/), a https proxy. 我只是阅读了https代理node-tls-proxy(http://code.google.com/p/node-tls-proxy/)。 I like the idea of it, but I'm not getting why this proxy needs a local http server (see the local-proxy.js script). 我喜欢它的想法,但是我不明白为什么该代理需要本地http服务器(请参阅local-proxy.js脚本)。 So I was wondering if this is necessary? 所以我想知道这是否必要吗? My idea of the proxy was actually like this: Client -> HTTPS Connection to trusted Server/Proxy -> Internets In this case network sniffing between the Client and the Server wouldn't (hardly) be possible because it would be ssl encrypted. 我对代理的想法实际上是这样的:客户端->与受信任的服务器/代理的HTTPS连接->互联网在这种情况下,客户端和服务器之间的网络嗅探是(几乎)不可能的,因为它将被ssl加密。

Thanks, Seb 谢谢,塞伯

If I get the idea correctly, the goal is to set up a "remote" proxy in a location that one trusts to be secure. 如果我正确地理解了这个想法,那么目标是在一个值得信赖的安全位置上建立一个“远程”代理。 Your client shall only communicate with this remote proxy using TLS, the remote proxy is then allowed to do the actual (no longer encrypted) HTTP requests. 您的客户端只能使用TLS与该远程代理进行通信,然后允许该远程代理执行实际的(不再加密的)HTTP请求。

What you do on the client side now is this: you configure the "local" proxy in your browser. 现在,您在客户端执行的操作是:在浏览器中配置“本地”代理。 Since you type "http://..." in your browser even when using the proxy, your browser will initiate an unencrypted HTTP connection to the local proxy first. 即使在使用代理时,由于在浏览器中键入“ http:// ...”,因此浏览器将首先启动与本地代理的未加密 HTTP连接。 Then the local proxy will open an encrypted TLS connection to the remote proxy and forward your request over a secured channel. 然后,本地代理将打开与远程代理的加密 TLS连接,并通过安全通道转发您的请求。

This means you need the local proxy for the purpose of "transforming" HTTP into HTTPS requests because your browser will dutifully only use HTTP when asked to make an actual HTTP request. 这意味着您需要本地代理服务器,以将HTTP“转换”为HTTPS请求,因为您的浏览器仅在被要求发出实际HTTP请求时才会忠实地使用HTTP。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM