我知道 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 查询之外,还有其他方法,例如思科的 WCCP,netfilter 的重定向当然,大多数其他防火墙和路由器也有类似的机制。