我有一个 squid 实例,配置为以循环方式转发到一组上游代理服务器。以下是相关配置:
cache_peer x.x.x.1 parent 3128 0 round-robin no-query proxy-only login=user:pass
cache_peer x.x.x.2 parent 3128 0 round-robin no-query proxy-only login=user:pass
cache_peer x.x.x.3 parent 3128 0 round-robin no-query proxy-only login=user:pass
我遇到的问题是,偶尔这些上游代理中的一个(或多个)会在没有通知我的情况下更改其身份验证,并且我的 squid 代理的用户会开始在其浏览器中收到“代理身份验证”弹出窗口。
有没有办法让 squid 认为“407 代理身份验证需要”响应实际上意味着服务器已死,应将其从循环列表中删除?
谢谢。
答案1
您可能需要为 cache_peer 设置一个 monitorurl=,更多信息请参见此处:
http://www.visolve.com/squid/squid26/neighboursel.php#cache_peer
基本上,让 monitorurl 成为测试登录的脚本。您可以让 monitorurl 指向本地测试脚本,或让其在 cache_peers 上运行,并测试其他内容(我们也对可用资源进行了测试)。