Назад | Перейти на главную страницу

Как настроить squid кешировать только определенные домены?

Например, я хочу 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
...