Собственно нужно было поднять прокси в локалке чтоб трафик немного экономить.
Со squid я разбираться не хотел, тем более что почти на каждой машине есть веб-сервер,
вот и решил сделать прокси на апаче.
cd /usr/ports/www/apache22 make config
Потребуются опции:
mod_proxy mod_proxy_http mod_cache mod_disk_cache
Следующие опционально:
mod_proxy_ftp ## для ftp mod_proxy_connect ## для https
ставим:
make install clean
модули добавляются в конфиг автоматом.
Добавляем в автозагрузку:
echo 'apache22_enable="YES"' >> /etc/rc.conf
Описываю только часть конфига, относящегося к прокси,
так как у меня на апач ещё много чего навешано.
Рекомендуется делать для прокси отдельный виртуалхост на 3128 порту, хотя можно и без него.
<local ip> и <local subset> заменяем на свое
Listen <local_ip>:3128 NameVirtualHost *:3128 <VirtualHost *:3128> ProxyRequests On ## включаем проксирование ProxyVia Block ## блокируем Via-заголовки (можно не писать или написать Off) ## а если прокси не в локалке, то лучше включить <Proxy *> ## описываем что пользоваться прокси-сервером можно только локалке Order deny,allow Deny from all Allow from <local_subnet> </Proxy> CacheEnable disk / ## включаем дисковое кэширование CacheRoot /var/httpcache ## дира для кэша CacheMinFileSize 500 ## минимальный размер (в байтах) кэшируемого файла CacheMaxFileSize 10240000 ## максимальный размер (в байтах) кэшируемого файла CacheDirLevels 4 ## для ускорения доступа к кэшу апач используетт многоуровневую ## структуру каталогов. Эта опция указывает количество уровней CacheDirLength 4 ## указание длины названия директорий с кэшем ## опционально ProxyBlock <хостнеймы или ключевые слова через пробел> ## блокируем ненужные сайты NoProxy <host> ## что проксировать не надо, будет выдано как есть. ## Опять же несколько указываем через пробел. AllowCONNECT 80443 ## порты на которые можно коннектиться </VirtualHost>
Теперь о размере кэша и его очистке.
В комплекте с апачем есть утилита htcacheclean.
Пишем в /etc/rc.conf :
htcacheclean_enable="YES" ## включаем автозапуск htcacheclean_cache="/var/httpcache" ## дира, где лежил кэш htcacheclean_cachelimit="1024M" ## размер кэша htcacheclean_interval="60" ## за сколько минут кэш устаревает. Если не писать будет 60