使用 HTTP 连接到代理服务器以获取 HTTPS 请求安全吗?

Is connecting to a proxy server with HTTP for a HTTPS Request secure?

我有一个用例,我想使用 HTTP 连接到代理服务器,但底层请求实际上是 GETHTTPS。我一直在阅读 ,但我想我需要一些说明。由于底层请求是 HTTPS 这是否意味着当我 "connect" 到我的代理服务器时它会自动打开一个 CONNECT 并且只通过我的 HTTPS 请求?我主要担心的是,如果我使用 HTTP 连接到我的代理服务器,那么底层的 HTTPS 请求会以某种方式暴露,直到它到达代理服务器。提前致谢。

是的,无论您的浏览器在 https session 中说什么,它在通过代理之前、期间和之后都会被加密。不,它没有暴露给代理。对于代理,HTTP CONNECT 仅表示 "copy raw bytes around without any interpretation"。代理确实在纯文本中看到 url 的部分,这里是大写的:HTTPS://EXAMPLE.COM:9443/secret/place。它看不到 url 的其余部分或其他任何内容;没有看到 headers 或数据。 (如果代理确实具有侵入性并解密 re-encrypts 你的 session 它是通过证书可见的。你的浏览器需要被破坏才能信任 man-in-the-middle 证书。未被破坏的浏览器非常明显地警告你。)

实际上,仅在浏览器和代理之间使用 http 是目前最流行的代理方式。