HAProxy - это сетевое программное приложение, которое обеспечивает высокую доступность, балансировку нагрузки и прокси для сетевых приложений TCP и HTTP. Он подходит для большого трафика и работает на многих сайтах. Эта статья покажет вам, как установить и настроить HAProxy в Ubuntu 14.04.
Хотя HAProxy имеет несколько выдающихся функций, в этой статье рассказывается, как настроить HAProxy для «прокси» вашего веб-приложения.
Установка HAProxy
Поскольку Ubuntu 14.04 не поставляется с HAProxy 1.5 (последний стабильный выпуск на момент написания), нам нужно будет использовать PPA, чтобы установить его, используя apt-get
:
add-apt-repository ppa:vbernat/haproxy-1.5
Далее обновите систему:
apt-get update
apt-get dist-upgrade
Теперь установите HAProxy с помощью следующей команды:
apt-get install haproxy
Если все прошло успешно, вы завершили установку HAProxy и можете перейти к следующему шагу.
Настройка HAProxy
Файл конфигурации HA Proxy разделен на два раздела - «глобальный» и «прокси». Один касается конфигурации всего процесса, а другой состоит из конфигурации по умолчанию, внешнего интерфейса и внутренних разделов.
Глобальный раздел
Откройте ваш любимый текстовый редактор, /etc/haproxy/haproxy.cfg
и вы увидите предварительно определенные разделы: «глобальные» и «стандартные». Первое, что вы можете сделать, это увеличить maxconn
размер до разумного, так как это влияет на соединения, которые разрешает HAProxy. Слишком много соединений может привести к сбою вашего веб-сервиса из-за большого количества запросов. Вам нужно будет отрегулировать размер, чтобы увидеть, что работает для вас. В глобальном разделе добавьте или измените maxconn
на 3072.
В разделе по умолчанию добавьте следующие строки под mode http
:
option forwardfor
option http-server-close
Это добавит X-Forwarded-For
заголовки к каждому запросу, а также уменьшит задержку между HAProxy и сохранит постоянные соединения клиента.
Секция прокси
Фронтенд и Бэкэнд
Как правило, первое, что нужно сделать, это настроить интерфейс для обработки HTTP-соединений. Добавьте следующее:
frontend http-frontend
bind public_ip:80
reqadd X-Forwarded-Proto:\ http
default_backend wwwbackend
Примечание. Обязательно замените его public_ip
своим доменом или общедоступным ip. В противном случае вся эта настройка не будет работать.
После того, как вы закончили настройку внешнего интерфейса, теперь вы можете добавить свой внутренний интерфейс, добавив следующие строки в конец вашей конфигурации:
backend wwwbackend
server 1-www private_ip_1:80 check
server 2-www private_ip_2:80 check
server 3-www private_ip_3:80 check
Конфигурация бэкэнд используется здесь создает соединение с именем , X-www
чтобы private_ip_X:80
(Заменить X с 1 - 3. и заменить private_ip_X
с частной или публичной ф). Это позволит вам балансировать нагрузку между каждым набором серверов (при условии, что у вас более одного сервера). check
Опция делает балансировки нагрузки выполнить проверку работоспособности на сервере.
Когда вы закончите, сохраните файл конфигурации, затем перезапустите HAProxy, выполнив:
service haproxy restart
Если все работает, то вы сможете подключиться http://public_ip/
(заменив его своим Vultr VPS IP) и просмотреть свой веб-сайт.