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