Search squid archive

Re: Primary, Secondary, Tertiary Squid proxies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nick Cairncross wrote:
Hi,

I would like to configure my proxies to route via different boxes if
the primary upstream is unavailable. I have three Squid boxes all at
different sites . All three have the entry:

cache_peer upstream.isp.com parent 8080 0 no-query default

All three are the same, utilising Kerberos authentication, hooking
into an ICAP server. All working ok - users authenticate, ICAP
manipulation then passed upstream. What I want is if the upstream at
site A is unavailable I would like to route to the site B, and then
site C to pass to the upstream. Likewise at Site B, site A, site C.
And again at site C, site B and site A.

I think I need to be looking at something like this.. I'm not using
caching by the way:

SiteA proxy: cache_peer upstream.isp.com parent 8080 0 no-query
no-digest default cache_peer siteb.[mydomain] sibling 8080 0 no-query
no-digest cache_peer sitec.[mydomain] sibling 8080 0 no-query
no-digest

Do I also need additional conf lines to say send upstream and don't
do any auth/ICAP etc or is it as simple as getting the right lines
above and it'll automatically go upstream?

Could anyone offer some pointers?

sibling relationships form a kind of cluster with multi-lateral fetches happening. It does not match your structured failover requirement. Although, it does permit a fastest-fetch setup you might like better.

To meet your failover requirement each would need to be parented off each other. Unless you add some form of load-balancing setting yourself the default is to fetch from the structured first, second, third parent the way you described. Simply list the cache_peer lines in priority order.
 Failover will happen when a) one goes down, or b) one gets overloaded.

One thing to watch out for is that for this to work without looping you MUST have the Via: and X-Forwarded-For headers enabled (via on, forwarded_for on settings in squid.conf). Also some cache_peer_access rules preventing a fetch which came from any of the A,B,C sites being passed to one of the others.


Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.1

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux