Squid 透明代理连接到另一个代理

Squid 透明代理连接到另一个代理

抱歉,我的术语不是代理专家。

我需要做的是在一侧有一个非常简单的 HTTP(S) 代理,无需任何客户端身份验证(这样客户端就不需要提供用户名/密码来连接它),而这个相同的代理需要将所有内容重定向到下一个“真正的”代理,以发挥它的魔力。

也许有人可以给我指明正确的方向——也许只需几行 Squid 配置(只是为了了解要寻找什么)也会被接受为答案。

答案1

它可能类似于以下内容

acl local_net src 192.168.1.0/24
http_access allow local_net

cache_peer real-magic-proxy.example.net parent 3128 3130 default login=user:password
cache_peer_access real-magic-proxy.example.net allow local_net

您的实际代理必须支持 ICP 协议。它可以与 http 配合使用,但我认为,由于 SSL 的性质,它无法与 https 配合使用。但您可以尝试 squid 3.3.x 中的 SSL bump 功能

您可以使用登录=用户:密码如果您的父母需要代理身份验证

答案2

我认为您要找的是cache_peersquid 中定义父缓存的选项。然后您可以设置透明代理,这样就不必配置或重新配置客户端。它看起来如下:

http_port 3128 transparent

最后但同样重要的一点是,您需要将所有流量重定向到网关上的端口 80,并重定向到网关上的代理服务器。使用 iptables 它可能看起来像这样:

# user 'squid' is allowed to pass http requests
iptables -t nat -A OUTPUT -m tcp -p tcp --dport 80 -m owner --uid-owner squid -j RETURN
#All traffic to port 80 to squid the 
iptables -t nat -A OUTPUT -m tcp -p tcp --dport 80 -j REDIRECT --to-ports 3128

相关内容