[squid-users] Re: Create acl based on Accept-Language?

From: Manuel <manuelgarcia_at_trashmail.net>
Date: Sun, 25 Aug 2013 15:42:08 -0700 (PDT)

I just found out that Squid caches the content properly from the right
cache_peer but once another user request the same URL the content is fetched
always from the first cached copy which is always based on the first
request. This problems does not seem to happen with another config that I
have where the acl is based on an IP (not based on Accept-Language). In this
other case even when the user request an URL that has already been cached,
because the user matches an specific IP the content is fetched from the
right cache_peer.

Examples 1 (not working properly):

acl itlanguage req_header Accept-Language ^it

cache_peer 127.0.0.1 parent 81 0 no-query no-digest originserver
name=maincontent
cache_peer_access maincontent allow !itlanguage
cache_peer_access maincontent deny all

cache_peer 127.0.0.1 parent 81 0 no-query no-digest originserver
name=itcontent
cache_peer_access itcontent allow itlanguage
cache_peer_access itcontent deny all

Example 2 (working properly):

cache_peer 127.0.0.1 parent 81 0 no-query no-digest originserver
name=webserver weight=1000 connect-timeout=2
cache_peer 127.0.0.2 parent 81 0 no-query no-digest originserver
name=webserver2 weight=5 connect-timeout=2
acl maindomain dstdomain www.mydomain.com
acl specialuser src 80.80.80.80/32
cache_peer_access webserver allow maindomain !specialuser
cache_peer_access webserver deny all
cache_peer_access webserver2 allow maindomain !specialuser
cache_peer_access webserver2 deny all

cache_peer 127.0.0.3 parent 81 0 no-query no-digest originserver
name=specialserver
cache_peer_access specialserver allow specialuser maindomain
cache_peer_access specialserver deny all

The only differences I can see are:
- ACL is based on an IP rather than in req_header Accept-Language
- In the second case the cache_peer are not only named different but also
have a different IP (127.0.0.1, 127.0.0.2...) while in the first case both
cache_peer have the same address but it are named different (because the
webserver delivers different content based on the Accept-Language).

Any idea?

Thank you in advance

--
View this message in context: http://squid-web-proxy-cache.1019090.n4.nabble.com/Create-acl-based-on-Accept-Language-tp4661764p4661767.html
Sent from the Squid - Users mailing list archive at Nabble.com.
Received on Sun Aug 25 2013 - 22:42:50 MDT

This archive was generated by hypermail 2.2.0 : Mon Aug 26 2013 - 12:00:14 MDT