For example, I want squid
to cache HTTP contents only for *.archive.ubuntu.com
, which is blocked by firewall, and don't cache for other domains.
And, only LAN (192.168.0.0/16) users can access the cached contents, but all users are allowed to access non-cached contents.
User-IP Dest-Domain acl Expect
---------------- ----------------------- ------ -------------------------
192.168.0.0/16 *.archive.ubuntu.com allow Cache Proxy, Fast
192.168.0.0/16 *.other allow Pass Proxy, Slow
Other * allow Pass Proxy, Slow
This is a bit of a dodge, but if you only care about auto-cacheing debian/ubuntu packages, try approx:
This requires that the clients be configured to download package lists from your proxy server, instead of the usual ubuntu servers but if you already use configuration management software like puppet or cfengine this is easy.
Your sources.list file would look something like this:
And your approx.conf file like: