Например, я хочу squid
кэшировать содержимое HTTP только для *.archive.ubuntu.com
, который блокируется брандмауэром и не кэшируется для других доменов.
И только пользователи LAN (192.168.0.0/16) могут получить доступ к кэшированному содержимому, но всем пользователям разрешен доступ к некэшированному содержимому.
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
Это немного уловка, но если вас интересует только автоматическое кеширование пакетов debian / ubuntu, попробуйте примерно:
apt-get install approx
Для этого необходимо, чтобы клиенты были настроены на загрузку списков пакетов с вашего прокси-сервера вместо обычных серверов ubuntu, но если вы уже используете программное обеспечение для управления конфигурацией, такое как puppet или cfengine, это легко.
Ваш файл sources.list будет выглядеть примерно так:
deb http://my.proxy.tld:9999/ubuntu/ lucid lucid main restricted universe multiverse
deb http://my.proxy.tld:9999/ubuntu-security/ lucid-security main restricted universe multiverse
...
И ваш файл about.conf, например:
ubuntu http://us.archive.ubuntu.com/ubuntu
ubuntu-security http://security.ubuntu.com/ubuntu
...