我想设置 Privoxy 以便它除了 HTTP 之外还可以处理 HTTPS 流量,但它不支持使用我自己的自签名证书进行 SSL 拦截。
我有一个想法,在我的计算机上安装另一个代理(称为“循环代理”),通过它我将从浏览器发送 HTTPS 流量(HTTP 仍然可以通过 Privoxy 传输)。我将为这个循环代理生成一个证书并将其安装在我的浏览器中。这个代理应该剥离 SSL,通过 Privoxy 路由流量,Privoxy 将处理它并再次通过循环代理路由它,这将“重新添加”SSL。Privoxy 将能够区分来自浏览器的 HTTP 流量和来自循环代理的 HTTP 流量,没有问题。最终加密的流量(通过后circular proxy -> Privoxy -> circular proxy
)应该直接发送到服务器。
___________ HTTP ___________ __________
| |-- -- -- -- -- -- -- -- -- -->| |-- -- -->| |
| browser | _______________ | Privoxy | | server |
| | | |-- -->| |-- -- |________|
| |-------->| circ. proxy | |_________| | ^
|_________| HTTPS |_____________|---------------------|------|
^ |
|-- -- -- -- -- -- -- -- -- --|
-----> encrypted traffic
-- --> unencrypted traffic
有办法实现吗?我不认为典型的支持 SSL 的反向代理(例如配置为 nginx)可以以这种循环方式配置,但我可能是错的。
PS 我所说的“处理” SSL 流量是指拦截和修改,就像它对未加密流量所做的那样。典型的中间人 SSL 代理可以做到这一点,但它们更倾向于调试或攻击服务器。我也想利用 privoxy 的功能(阻止广告域、指纹识别技术等)来处理 SSL 流量。