在拦截模式下允许直接 HTTPS 连接的最简单方法是什么?

在拦截模式下允许直接 HTTPS 连接的最简单方法是什么?

我知道 SSL 问题已经被彻底解决了

我使用 DNS 重定向来强制我的客户端使用我的拦截代理。众所周知,除非我提供假证书,否则无法拦截 HTTPS 连接。我在这里想要实现的是允许所有 HTTPS 请求直接连接到源服务器,从而绕过 Squid:

  • HTTP 连接> Squid 代理
  • HTTPS连接>绕过Squid并直接连接

过去几天,我花了几天时间在谷歌上搜索并尝试了不同的方法,但到目前为止都没有奏效。我读过有关使用 CONNECT 方法的 SSL 隧道的文章,但找不到更多相关信息。

我尝试了类似的方法,使用 RINETD 将通过 Squid 端口 443 的所有流量转发回 www.pandora.com 的原始 IP。不幸的是,我没有意识到所有其他 HTTPS 请求也转发到了 www.pandora.com 的 IP。例如,https://www.gmail.com还带我去https://www.pandora.com

由于我运行的是拦截模式,因此转发需要动态进行,并将每个 HTTPS 域名与正确的原始 IP 匹配。这可以在 Squid 或 iptables 中完成吗?

最后,我使用 DNS 区域重定向将流量导向我的 Squid 服务器。例如,客户端请求 www.google.com,我的 DNS 服务器将该请求导向我的 Squid IP,然后我的透明 Squid 将代理该请求。此设置会影响我想要实现的目标吗?我尝试了很多方法,但都无法让它发挥作用。

对于如何做到这一点,有什么看法吗?

答案1

只要您的 dns 服务器对所有查询都使用 squids IP 进行响应,流量就会流向那里。除了

使用重定向使用 squids IP 响应 dns 查询之外,还有其他方法,例如思科的 WCCPnetfilter 的重定向当然,大多数其他防火墙和路由器也有类似的机制。

相关内容