I have a current Parent child proxy configuration I have been testing, its 
working with the exception of some sites not failing over to second parent when 
primary parent goes down.

In the test scenario I have 2 parent proxies, and one child proxy server, the 
parents are each configured twice using an alias IP address.  This is done to 
load balance using round robin for the majority of web traffic yet allow some 
sites that we have identified to not work correctly with load balancing to go 
out a single parent proxy.

The load balanced traffic works as expected, the dead parent is identified and 
ignored until it comes back online.  The traffic that cannot be load balanced 
is all using HTTPS (not sure HTTPS has anything to do with the problem or not), 
when I stop the parent proxy 10.50.20.7 (aka 10.52.20.7) the round-robin 
configuration is promptly marked as dead.  However a website that has already 
been connected to that is in the NONBAL acl just returns the proxy error from 
the child giving a connect to (10.52.20.7) parent failed connection denied.  It 
will not mark the non load balanced parent dead, closing and restarting the 
browser doesn't help.  It will change the status to dead however if I connect 
to another site in the NONBAL acl.  Going back to the first site, I can then 
connect, even though I have to log in again, which is expected and why these 
sites cannot be load balanced.

Does anyone have any ideas short of writing some sort of test script that will 
cause the parent to be marked as dead, if it fails without any user 
intervention.

Here is the cache peer configuration from the child proxy. FYI, I added the 5 
sec timeout to see if it had any effect, and it didn't with the exception of 
speeding up the detection of the dead load balanced proxy.

## Define Parent Caches
# Cache Peer Timeout
peer_connect_timeout 5 seconds
# Round Robin Caches
cache_peer 10.50.20.7 parent 8080 8181 name=DSL2BAL round-robin
cache_peer 10.50.20.6 parent 8080 8181 name=DSL1BAL round-robin
# Non Load Balanced caches
cache_peer 10.52.20.7 parent 8080 8181 name=DSL2
cache_peer 10.52.20.6 parent 8080 8181 name=DSL1

## Define Parent Cache Access rules
# Access Control Lists
acl NONBAL dstdomain "/usr/local/squid/etc/nonbal.dns.list
# Rules for the Control Lists
cache_peer_access DSL2BAL allow !NONBAL
cache_peer_access DSL1BAL allow !NONBAL
cache_peer_access DSL2 allow NONBAL
cache_peer_access DSL1 allow NONBAL

Thanks,
     Dean Weimer
     Network Administrator
     Orscheln Management Co

Reply via email to