Squid request_header_add 带有 https

Squid request_header_add 带有 https

我正在尝试配置我的 squid 代理以向我的所有请求添加标头。配置没有什么特别的。我有以下内容:

request_header_add X-Custom-Header "customheadervalue" all

这对于 http 请求有效,但不会为 https 请求添加任何标头。我需要进行什么配置才能使其工作?squid 难道不应该能够在进行 https 之前将此标头添加到请求中吗?

此外,我注意到 x-forwarded-for 在 https 上也被省略,但在 http 上没有。我觉得我在这里忽略了一些明显的东西。

答案1

在大多数情况下,使用 SSL 时,Squid 不会为您转发请求,因此 Squid 可以修改流量并在纯 HTTP 请求中插入其他标头。使用 HTTPS/SSL/TLS 时,Squid 允许您的浏览器连接直接到 HTTPS 主机。

Squid 仅转发浏览器和远程服务器之间的加密流量,由于这些流量是加密的,所以 Squid 无法修改这些流量。无法插入任何标头,因为 HTTP 标头位于加密数据流内。

微妙之处在于转发请求,这意味着理解 HTTP 协议和转发加密数据包其中 HTTP 协议被加密并隐藏在 TCP/IP 流中。

答案2

我最终在 squid.conf 中执行以下操作:

http_port 3128 accel defaultsite=my.httpsServer.com protocol=HTTPS vport=8443 allow-direct no-vhost
request_header_add X-Custom-Header "customheadervalue" all

看起来运行良好。我对代理的所有请求(通过 http 发出)都使用自定义标头参数以 https 重写。这似乎正是我所需要的

相关内容