2016-05-18 178 views
1

问题是关于HTTP vs HTTPS。HTTPS连接是否需要HTTPS代理或可以使用HTTP代理?

如果我想匿名加载强制HTTPS的网站,例如Google.com,是否需要HTTPS代理,还是可以使用HTTP代理?

+0

是否代理可以通过HTTP向客户端提供HTTPS站点的内容? – DaSourcerer

+0

@DaSourcerer匿名,是的。如果你愿意的话,编辑问题。 – User

+0

我宁愿不要:改变别人的写作时,它可能会改变意义,这让我有点不舒服。 – DaSourcerer

回答

4

如果您的代理是SOCKS它不会在意通过它连接的是哪种套接字。它有自己的握手,并不关心握手后会发生什么。在SOCKS握手SSL握手(HTTPS)开始后,它不是SOCKS代理问题,它只会通过。

另一方面,有些HTTP代理需要HTTP头文件来引导它们,因为它需要读取头文件,所以这样的HTTP代理将不允许HTTPS。

第三方(ekhm ... well,foot?),支持HTTP CONNECT的HTTP代理也可以设置任意数据的传输。因此,这样的代理可以设置任何类型的套接字,它可以具有SSL握手,然后可以用于HTTPS传输。

+0

所以答案是,如果我刮一个HTTP代理列表从网上购买,还是购买清单,只有部分会支持HTTPS? – User

+1

我认为今天**大多数HTTP代理(特别是那些在网络上广告的)都支持'HTTP CONNECT',因此支持HTTPS。最常见的部署之一是[squid](http://www.squid-cache.org/),它默认允许HTTP CONNECT。我看到检查标头或禁用'CONNECT'的HTTP代理大多是公司内部代理(对雇员进行间谍活动是不好的,OK),以及像'perl'(这令人惊讶的是仍然很普遍)被黑客攻击的代理。 – grochmal

1

HTTP代理服务器支持HTTP代理中支持HTTPS连接的CONNECT谓词。您不需要特殊的HTTPS代理服务器或任何其他设置。

CONNECT动词允许您创建任何给定的IP:Port地址的二进制套接字隧道。因此,任何HTTP客户端(所有浏览器)都将打开安全隧道并通过代理服务器进行安全通信。但是,除非他们通过向您发送自签名证书来实施中间人攻击,否则没有人无法控制或查看任何正在通过隧道的内容。

这些天大多数防火墙自动在工作网络中部署的中间自签名证书中实现人,所以你必须挖掘更多的证书来确定它是否真的安全。所以它可能不是匿名的。

1

如果您尝试以匿名方式访问服务,您将无法通过运行自己的代理来获得此服务。从原始问题来看,“代理”的含义不明确,例如本地服务或远程服务。通过网络上的代理进行浏览不会获得匿名,除非它类似于通过TOR网络进行中继的TOR代理。

至于代理服务器是否可以支持HTTPS,这里已经介绍过了,找到一个不支持CONNECT的代理服务器是不寻常的。但是,如果它是您正在使用的远程匿名服务,我怀疑他们会执行MitM,因为您需要将签名证书安装到受信任的根存储中,因此他们无法偷偷地进行此操作。

+0

代理服务器:远程IPv4地址和端口组合。 – User