Pound – реверсный прокси сервер, балансер
Есть в портах FreeBSD pound, специализированный реверсный прокси и балансир трафика. Он не требователен к ресурсам и легко настраивается. Поставим pound из портов:
cd /usr/ports/www/pound/ make install clean
В начале появится диалог настройки сборки:
┌────────────────────────────────────────────────────────────────────┐ │ Options for pound 2.4.4 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ [X] DAEMON Running as a daemon │ │ │ │ [X] LIBTHR Link against libthr for threading │ │ │ │ [X] LOG With Syslog support │ │ │ │ [ ] MSDAV With the Microsoft WebDAV extensions support │ │ │ │ [X] PCRE Build with libpcre support │ │ │ │ │ │ │ │ │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘
DAEMON – опция определяющая что pound будет запускаться на бекграунде
LIBTHR – при своей работе будет использовать библиотеку pth – это ускорит работу pound
LOG – позволяет писать логи через syslogd
PCRE – для работы можно будет использовать perl совместимые регекспы.
После того как pound соберется – настроим его для домена hilik.org.ua, будем проксировать нагрузку на внутренний адрес 192.168.1.3, а конфигурационный файл будет иметь такой вид:
ListenHTTP
Address 89.252.34.107
Port 80
Service
HeadRequire "Host: .*hilik.org.ua.*"
BackEnd
Address 127.0.0.1
Port 80
End
End
EndТеперь разрешим запускать pound и запустим его:
echo 'pound_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/pound start
Простое реверсное проксирование работает.
Сделать балансировку не на много сложней, нужно в сервис добавить еще один BackEnd, например так:
ListenHTTP
Address 89.252.34.107
Port 80
Service
HeadRequire "Host: .*hilik.org.ua.*"
BackEnd
Address 127.0.0.1
Port 80
End
BackEnd
Address 192.168.1.2
Port 80
End
End
EndВ общем ничего сложного нет и все работает. Но последнее время nginx почти повсеместно у меня вытеснил pound.



