|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> Apache 2.2 as a proxy
Apache 2.2 как прокси-сервер
Автор: L!Ner.
Собственно нужно было поднять прокси в локалке чтоб трафик немного экономить.
Со squid я разбираться не хотел, тем более что почти на каждой машине есть веб-сервер,
вот и решил сделать прокси на апаче.
Ещё одним приемуществом apache является сокращение количества запущенных программ на сервере
как минимум на одну, так как апач одновременно может служить внутренним, а если надо и внешним
веб-сервером. Таким образом, сокращая количество программ, тем самым увеличиваем надежность.
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
| Ставим:
Модули добавляются в конфиг автоматом.
Добавляем в автозагрузку:
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://forum.lissyara.su/viewtopic.php?f=14&t=18244.
размещено: 2009-05-31,
последнее обновление: 2009-06-02,
автор: L!Ner
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
|
Статистика сайта
|
Сейчас на сайте находится: 25 чел.
|
За последние 30 мин было: 86 человек
|
За сегодня было 3759 показов, 950 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [9 шт.]