On 31/07/2012 1:25 a.m., Jannis Kafkoulas wrote:
Hi,

(I use squid 2.7. STABLE9 on RedHat EL 5.6)

Following problem:

I have following dstdomains defined
going to par-std and par-alt  cache_peers respectively:

acl alt dstdomain .fa-intracomp.net
acl std dstdomain .intracomp.com

Now I'd like  "abc.intracomp.com"  to also go via  cache_peer par-alt.

Following two tries didn't work:

# acl alt-2 dstdom_regex -i abc.intracomp.com
# acl alt dstdomain abc.intracomp.com

The dstdomain one is faster. Both are correct for your requested policy. The key word you stated being "also" ...


The requests were sent to par-std cache_peer

cache_peer 192.10.10.22    parent    3128    0     no-query login=PASS 
proxy-only no-digest name=par-std
cache_peer 192.10.10.22    parent    80    0     no-query login=PASS proxy-only 
no-digest name=par-alt

cache_peer_access  par-alt  allow alt-2
cache_peer_access  par-alt  allow alt
cache_peer_access  par-std  allow std


Is there a way for that to work at all?

Unless given some specific selection algorithm (digest, ICP, hshes, carp, roundrobin etc) Squid lists peers in configuration order when attemping to pass traffic.

As I said above the key word in your policy statements is "also" - with both peers *available* for use Squid will pick the first one that works. With par-std being listed first your logs will show it being used until such time as it becomes unresponsive or overloaded. Then par-alt will pick up the slack for that one domain.

I think you are looking at the logs and seeing only par-std, thinking its not working when actually it is. You can test by changing the order of cache_peer definitions in your config and seeing the preferred peer switch to the par-alt when the new ACL is added.

NOTE: you canot send a request via *both* using TCP unicast links, just one.

Amos

Reply via email to