Документация по ОС FreeBSD Суббота, 27.04.2024, 16:58
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Apache

Apache 2.2 как прокси-сервер [2009]
Собственно нужно было поднять прокси в локалке чтоб трафик немного экономить.
Со 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 80 443 ## порты на которые можно коннектиться
</VirtualHost>

Подробнее про опции можно почитать здесь

Создаем диру для кэша и обеспечиваем ее безопасность:
mkdir -p /var/httpcache
chmod 0700 /var/httpcache
chown www:www /var/httpcache

Теперь о размере кэша и его очистке.
В комплекте с апачем есть утилита htcacheclean.
Пишем в /etc/rc.conf :
htcacheclean_enable="YES" ## включаем автозапуск
htcacheclean_cache="/var/httpcache" ## дира, где лежил кэш
htcacheclean_cachelimit="1024M" ## размер кэша
htcacheclean_interval="60"
## за сколько минут кэш устаревает. Если не писать будет 60

Стартуем обе проги:
/usr/local/etc/rc.d/apache22 start
/usr/local/etc/rc.d/htcacheclean start

теперь направим веб-трафик на наш прокси.

Для pf :
rdr on $int_if proto tcp from $lan_in to $int_if port { 80, 443 } -> $ip_proxy port 3128

для ipfw (необходимо иметь options IPDIVERT в ядре)
${FwCMD} add divert 3128 from ${LanIN}/${NetMask} to any 80 443 out via ${LanOut}



Источник: http://www.lissyara.su/?id=1945
Категория: Apache | Добавил: oleg (01.06.2009) | Автор: L!Ner
Просмотров: 1123 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024