On 04 Aug 2006, at 10:50 , Henrik Nordstrom wrote:
fre 2006-08-04 klockan 07:28 -0700 skrev Merton Campbell Crockett:
After upgrading to Squid-2.6, I noticed warning messages about
possible loops. In each of the messages, the HTTP client was
identified as the other Squid server.
Make sure the unique_host_name is unique on each cache. Also it's
often
a good idea to not do peering on requests received from siblings..
I wanted both Squid servers to behave identically. When a copied the
configuration file over from the first server, I missed one edit:
virtual_hostname. The problem disappeared after correcting the
virtual_hostname.
for each sibling
acl name_of_sibling src ip.of.sibling
cache_peer_access name.of.sibling deny name_of_sibling
The proxy.pac/wpad.dat file that I use defines a crude URL hashing
algorithm to balance the load between the servers. Window's web
proxy caching is based on the host name of the origin server. On its
initial HTTP request, IE will hash the URL to select the Squid server
to use. Information about the origin server and the Squid server is
stored in the web proxy cache. Once this is done, all HTTP requests
for content from the origin server will be sent to the Squid server
selected on its initial request.
The goal of querying the sibling was to avoid going to the origin
server if the content had already been retrieved by the sibling.
Doesn't the above ACL, prevent one sibling from retrieving content
from the other's cache?
I was under the impression
that ICP was used to query siblings for cached web content and to
transfer that content to the requesting server.
It uses both. ICP to find which peer is worth querying, then HTTP to
transfer the object.
I re-read the Internet Caching Protocol RFC. ICP can be used if the
object is small but HTTP must be used for large objects and is the
preferred method for retrieving content from another cache.
Merton Campbell Crockett
m.c.crockett@xxxxxxxxxxxx