Захтеви
Инсталирање ХАПроки-а
Конфигурисање ХАПроки-а
ХАПроки је мрежна софтверска апликација која нуди високу доступност, балансирање оптерећења и прокси за ТЦП и ХТТП мрежне апликације. Погодан је за веб локације са великим прометом и покреће многе популарне сајтове широм веба. Овај чланак ће вам показати како да инсталирате и конфигуришете ХАПроки на Дебиан 9.1.
Иако ХАПроки има неколико истакнутих карактеристика, овај чланак се фокусира на то како да подесите ХАПроки да „прокси“ вашу веб апликацију.
Захтеви
- Најмање два Вултр сервера (за функцију балансирања оптерећења) са вашом веб локацијом или веб апликацијом која је распоређена на оба.
Инсталирање ХАПроки-а
Дебиан 9 се већ испоручује са ХАПроки 1.7 (најновије стабилно издање у тренутку писања), и можемо га једноставно инсталирати користећи apt-get:
# apt-get update
# apt-get install haproxy
Ако су претходне команде биле успешне, онда сте инсталирали ХАПроки и можете да пређете на следећи корак.
Конфигурисање ХАПроки-а
ХАПроки конфигурациона датотека је подељена на два одељка — „глобални“ и „проксији“. Један се бави конфигурацијом за цео процес, док се други састоји од подразумеване конфигурације, фронтенда и бацкенд секција.
Глобална секција
Користећи свој омиљени уређивач текста, отворите /etc/haproxy/haproxy.cfgи приметите унапред дефинисане одељке: „глобално“ и „подразумевано“. Прва ствар коју ћете можда желети да урадите је да повећате на maxconnразумну величину, јер то утиче на везе које ХАПроки дозвољава. Превише веза може довести до квара ваше веб услуге због многих захтева. Мораћете да прилагодите величину да бисте видели шта вам одговара. У глобалном одељку изабрали смо maxconnвредност од 3072.
global
daemon
maxconn 3072
У подразумевани одељак додајте следећу линију испод режима http:
option forwardfor
Ово ће додати X-Forwarded-Forзаглавља сваком захтеву, што омогућава вашим позадинским серверима да сазнају оригиналну ИП адресу корисника.
Такође, додајте ову линију да бисте омогућили режим затварања ХТТП везе на страни сервера, а истовремено задржали могућност подршке одржавању ХТТП-а на страни клијента. Ово смањује кашњење на страни клијента и помаже у очувању ресурса сервера:
option http-server-close
Ако желите да користите Кееп-аливе и на страни клијента и на страни сервера, онда бисте могли да користите option http-keep-aliveуместо тога. Ова опција је посебно корисна када су трошкови успостављања нове везе са сервером значајни у поређењу са трошковима преузимања траженог ресурса.
Коначно, резултујућа конфигурациона датотека ће изгледати отприлике овако:
defaults
mode http
option forwardfor
option http-server-close
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
Одељак за проксије
Да бисте подесили прокси, мораћете да додате два одељка у конфигурациону датотеку да бисте дефинисали два дела проксија: фронтенд и бацкенд.
Фронтенд Цонфигуратион
Фронтенд ће управљати вашим ХТТП везама. Додајте следеће на крај haproxy.cfgдатотеке:
frontend http-frontend
bind public_ip:80
reqadd X-Forwarded-Proto:\ http
default_backend wwwbackend
Обавезно замените public_ipјавном ИП адресом или именом домена вашег сервера.
Бацкенд Цонфигуратион
Подесите позадину додавањем следећих редова на крај ваше конфигурационе датотеке:
backend wwwbackend
server 1-www server1_ip:80 check
server 2-www server2_ip:80 check
server 3-www server3_ip:80 check
Позадинска конфигурација која се користи овде ствара 3 везе под називом X-www. ( Xје 1, 2 или 3.) Сваки од њих одговара serverX_ip:80 адреси. (Замените serverX_ipИП адресама ваших Вултр инстанци.) Ово ће вам омогућити да уравнотежите оптерећење између сваког сервера у наведеном скупу сервера (под претпоставком да свака ИП адреса одговара другом серверу). checkОпција омогућава рад балансер обављање здравствене прегледе на серверу.
Сачувајте конфигурациону датотеку, а затим поново покрените ХАПроки:
service haproxy restart
Ако све функционише, моћи ћете да се повежете http://public_ip/(заменивши га својим јавним ИП-ом или именом домена како је конфигурисано у предњем кораку) и прегледате своју веб локацију.
Грешке у отклањању грешака
Ако ваша ХАПроки инстанца одбије да се покрене након ваших измена, велике су шансе да имате грешку негде у конфигурационој датотеци. Да бисте добили јасне поруке о проблему у конфигурационој датотеци, можете покушати да покренете ХАПроки ручно помоћу ове команде:
# haproxy -f /etc/haproxy/haproxy.cfg
На пример, ако видите овакав излаз:
[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.
Затим сте заборавили да наведете број порта за сервер 1-www.