Squid 多层Cache 如何设置实现墙内直连,墙外域名走国外Proxy
开发人员经常查资料的网站都被墙, 所以在Linode 搞了一个instance 做为我们的Proxy, 但是墙内网站访问很慢, 所以想实现墙内的网站还是直连,被墙的域名走国外proxy.
我实现的思路是假设一个本地proxy, 可以用iptables 加透明代理,也可以让开发人员自己改浏览器设置, 然后在本地proxy 加上cache_peer, 然后用cache_peer_domain 来实现白名单过滤, 但是被墙的实在太多了, 加也加不过来呀。
想问问你们有没有经验,实现 try error 的模式,比如直接访问abc.com 如果访问失败就用proxy, 之后半小时内都用proxy. 我试了 prefer_direct on 的选项, 达不到我的要求, 一是试错很慢, 每个domain 试错都要10几秒, 一般页面上有CDN内容,广告的,域名都好几十个,页面整个载入要超过1分钟。而且不能cache 这个试错的结果,再次访问同样的域名下的内容,还是得先试错,再去选择proxy.
还有什么其他方法可以实现这个效果吗?