我刚刚阅读了node-tls-proxy(http://code.google.com/p/node-tls-proxy/),一个https代理。我喜欢它的想法,但我不明白为什么这个代理需要一个本地的http服务器(参见local-proxy.js脚本)。 所以我想知道这是否必要? 我对代理的想法实际上是这样的:客户端 - > HTTPS与受信任服务器/代理的连接 - >互联网络 在这种情况下,客户端和服务器之间的网络嗅探不会(几乎)不可能,因为它将被ssl加密。
谢谢, SEB
答案 0 :(得分:1)
如果我能够正确理解,我们的目标是在一个人们信任安全的位置设置一个“远程”代理。您的客户端只能使用TLS与此远程代理进行通信,然后允许远程代理执行实际(不再加密)的HTTP请求。
您现在在客户端执行的操作是:在浏览器中配置“本地”代理。由于即使在使用代理时在浏览器中键入“http:// ...”,浏览器也会首先启动与本地代理的未加密 HTTP连接。然后,本地代理将打开与远程代理的加密 TLS连接,并通过安全通道转发您的请求。
这意味着您需要本地代理才能将HTTP“转换”为HTTPS请求,因为当您被要求发出实际的HTTP请求时,您的浏览器将尽职尽责地使用HTTP。