优点和缺点使用HTTP代理V / S HTTPS代理的?(Pros and cons of usin

2019-06-24 03:57发布

在JVM允许代理属性http.proxyHost和把http.proxyPort用于指定HTTP代理服务器和https.proxyHost和https.proxyPort用于指定HTTPS代理服务器。

我想知道是否有使用HTTPS代理服务器相比,HTTP代理服务器的所有优势?

通过HTTPS代理比从HTTP代理accesing不那么笨重访问HTTPS URL?

Answer 1:

HTTP代理获得一个纯文本请求和[在大多数但不是所有情况下]发送不同的HTTP请求发送到远程服务器,然后向客户端返回的信息。

HTTPS代理是一个relayer,它接收特殊的HTTP请求(CONNECT动词),并建立一个不透明的隧道到目标服务器(这不一定甚至HTTPS服务器)。 然后客户端发送的SSL / TLS请求到服务器,他们继续与SSL握手,然后用HTTPS(如果需要)。

正如你看到的,这是两个完全不同的代理类型具有不同的行为和不同的设计目标。 因为它没有看到向服务器发送请求HTTPS代理不能缓存任何东西。 随着HTTPS代理你有一个通道,服务器和客户端接收并验证服务器的证书(以及可选反之亦然)。 HTTP代理,另一方面,看到并具有在其上从所述客户端接收的请求控制。

虽然HTTPS请求可以通过HTTP代理服务器发送,这是几乎从来没有,因为在这种情况下,代理将验证服务器的证书做,但客户端将能够接收和验证只代理的证书,并作为代理的证书中名称不匹配套接字连接到地址,在大多数情况下,警报将被赋予和SSL握手是不会成功的(我不打算到如何设法解决这个问题的详细信息)。

最后,HTTP代理就可以考虑这个请求,无效的HTTPS通道提供的,所以使用HTTP代理HTTPS请求的安全理念通常用于调试的目的(我们再次忽略这需要监测偏执公司安全策略的情况下,只有做了公司员工的所有HTTPS流量)。

另外:也看过我对类似题目的答案在这里 。



Answer 2:

有没有优点或缺点。 而没有“HTTPS代理”服务器。

你可以告诉协议处理程序的代理服务器使用不同的协议。 这可以做httphttpsftpsocks 。 没有更多而不是更少。

我不能告诉你,如果你要使用不同的代理HTTPS连接与否。 这取决于。 我只能解释一个HTTP的差异和HTTPS请求到代理。

由于HTTP代理 (或Web代理)理解HTTP (因此得名),客户端可以只发送请求到代理服务器,而不是实际的destenation。 这并不适用于工作HTTPS 。 这是因为代理不能使TLS握手,这发生在第一位。 因此,客户端必须发送一个CONNECT请求发送到代理。 代理建立一个TCP连接,只是发送包来回不接触他们。 因此,TLS握手发生在客户端和destenation之间。 HTTP代理服务器不会看到的一切,并没有任何验证destenation服务器证书。

可能有一些混淆,这整个HTTP,HTTPS,代理的东西。 它可以连接以https HTTP代理。 在这种情况下,客户机和代理之间的通信被加密。

还有一些所谓的TLS terminatinginterception代理服务器,比如Squid的SSL PEEK和接头或打嗝 ,它看到的一切 。 但是,这不应该工作开箱即用,因为代理使用其不被信任的CA签署自己的证书。

参考

  • https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html
  • https://parsiya.net/blog/2016-07-28-thick-client-proxying---part-6-how-https-proxies-work/
  • http://dev.chromium.org/developers/design-documents/secure-web-proxy
  • https://tools.ietf.org/html/rfc2817#section-5
  • https://tools.ietf.org/html/rfc7231#section-4.3.6


文章来源: Pros and cons of using a Http proxy v/s https proxy?
标签: http https proxy