Can squid automatically remove a cache_peer from the round-robin list if its proxy auth fails

authenticationPROXYsquid

I have a squid instance that is configured to forward to a set of upstream proxy servers in a round-robin fashion. Here's the relevant config:

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

The problem I'm having is that occasionally one (or more) of these upstream proxies changes its authentication without telling me, and users of my squid proxy start getting the 'Proxy authentication' popup in their browsers.

Is there a way to make squid think a '407 proxy auth required' response actually means the server is dead and should be removed from the round-robin list?

Thanks.

Best Answer

You probably want to setup a monitorurl= for the cache_peer, more information on that here:

http://www.visolve.com/squid/squid26/neighboursel.php#cache_peer

Basically have the monitorurl be a script that tests the login. You could have the monitorurl point to a local test script or have it live on the cache_peers and test other things as well (we have ours test for available resources as well).