1

我正在尝试在通过我的代理服务器的所有 HTTPS 请求上插入标头。

读到HTTPS 请求标头不能被篡改。

有什么方法可以在 HTTPS 请求上插入标头?

4

2 回答 2

3

仅当代理是与客户端的 TLS 连接的端点时(即代理解密请求)。否则它实际上根本看不到任何 HTTP 标头,只是包含加密数据的 TCP 会话。

Web 服务器本地的反向代理通常会终止 TLS 连接以提高性能 - Web 服务器可以将更多资源用于服务应用程序,因为它不需要在解密/加密上花费 CPU 周期。

如果您这样做,您的服务器证书必须标识代理服务器,而不是 Web 服务器。否则,客户端将收到有关服务器身份与证书身份不同的警告。

如果您不控制或不信任代理和服务器之间的基础设施,您可以重新加密正在进行的请求。

于 2013-12-07T20:20:20.963 回答
2

除非您愿意终止代理上的 SSL 连接,否则您不能。这是 SSL 的主要目标之一。包含标头的数据从客户端加密到服务器。

如果您决定终止/拦截代理上的 SSL 连接,客户端将在其浏览器中收到警告。如果您负责所有客户端的所有浏览器,您将能够安装自定义证书,并且客户端不会再收到警告。

于 2013-12-07T20:19:57.063 回答