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