Interleaving the acls and http_access lines should work just fine.  I'd 
change the dstdom_regex to dstdomain, because as it stands now, anything 
with ".gov" anywhere in the domain (where the dot can represent any 
character i.e. thegovenator.com), will be allowed through.  Same thing for 
the .edu acl.  Neither of which explains how you managed to surf to 
www.elephants.com.  The http_access allow www would let you, but it should 
never be reached (all traffic should be blocked by the "deny ip" line). 
Replacing the three deny lines (and their associated acls) with a 
http_access deny all would also help lead to more clarity. 
 
Two choices here.  Post your whole squid.conf file (preferably minus 
comments and blank lines) or utilize Squid's native debugging capabilities. 
Using "debug_options ALL,1 33,2" will give a pretty good step-by-step of how 
squid is acting on ACLs for each web request (output to the cache.log).  Be 
aware, the output is quite verbose, so it's not something that you likely 
want to use on a production server. At least not for long. 
 
One last question...  Are you telling Squid to reconfigure (or restart) 
after each change to the config file?  It may be obvious, but it never hurts 
to ask. 
 
Chris 
------------------------------------------------------------ 
 
Looks like it was my syntax. 
 
I always stop Squid before changing the .conf. 
 
I enabled debug, deleted all the recommended rules that I don't understand, and 
added only   
the rules that interest me.  (I can add other rules one at a time after I get 
it working) 
 
The dstdomain .gov denied .gov.au so I reverted to dstdom_regex although, like 
the   
California Democrats, I don't want the govenator. 
 
Interleaving works, and ANDing the ACLs in the rules makes the intent even 
clearer. 
 
ACL is checked before getting from cache. 
 
Squid goes out to the internet before getting cached pages, after a period of 
idleness.  I   
don't have a good handle on this. 
 
The last rule does what it says, not the inverse. 
 
Changing the rules had some side effects. 
1) the 30 sec delay on shutdown started working and, after some more rule 
changes,   
stopped working.  It does not matter. 
2) I now have access denied error messages, in Hebrew.  Perhaps it is better 
that users   
who try naughty things are baffled, rather than taunted by a comprehensible 
message. 
 
Here are my rules:- 
 
#  TAG: acl 
 
#  TAG: http_access 
acl all src 0.0.0.0/0.0.0.0 
acl localnet src 192.168.100.0/24 
acl OKdomains dstdom_regex -i .gov. .edu. .google.com.au 
http_access allow localnet OKdomains 
acl every dst 0.0.0.0/0.0.0.0 
http_access deny every 
 
#  TAG: http_reply_access 
http_reply_access allow localnet 
http_access deny all 
 
I am inestimably grateful for your patience which has saved my life, well, at 
least my   
sanity. 
 
Thanks. 
 



Reply via email to