На момент написання статті вийшов стабільний реліз 1.5.3 з підтримкою балансування SSL з'єднань. В ті часи, коли мені доводилося працювати з Haproxy, доставка SSL трафіку до кінцевого сервера проводилася звичайним форвардного з'єднання на 443 порт.
Встановлюється воно за допомогою зазвичай менеджера пакетів. Далі буду працювати з CentOS:
yum install haproxy
Після установки файл настройок зберігається в / etc / haproxy
За замовчуванням в цьому файлі можна описати всі налаштування. Є загальні настройки haproxy і настройки так званих бек-ендів (back-ends).
Загальні настройки з секції "global", як правило не вимагають змін.
Конфігурацію бек-ендів я розгляну докладніше. Бек-ендом (BackEnd) називається сервер, який знаходиться за балансувальник навантаження, багато їх називають головами або веб головами (web heads). Є два підходи до опису кластерів серверів, що знаходяться за балансувальник навантаження:
1. Простий метод "listen-> servers" використовується в тому випадку, якщо у Вас є кілька веб серверів (припустимо 3), їх параметри однакові (CPU / RAM) і весь трафік рівномірно розподіляється між ними. У функціонал серверів немає різниці. Кожен з них в рівній мірі може обробляти всі вхідні запити. В такому випадку
2. Більш тонкий метод "frontend-> backend-> servers". В цьому випадку сервера групіруются в так звані backend, які по суті представляють собою подобу секції "listen", описаної в попередньому пункті. Backendи в свою чергу об'єднаються в гллобальний frontend.
Що ж стосується режимів балансіровакі навантаження (mode
- http - використовується виключно для балансування http трафіку (рівень 7 OSI). Дозволяє використовувати можливості маніпуляції з заголовками, куками і т.д.
- tcp - універсальний режим. Можна використовувати для балансіровакі будь-якого трафіку (https, mysql, smtp, і т.д.)
option - за допомогою цієї директив можна включити додаткові плюшки для необхідної секції. Всі опції можна подивитися тут.
Практичні приклади з налаштування можна почитати тут.
(Visited 1 158 times, 1 visits today)