Авг 07 2009

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.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть