Как настроить HAProxy в качестве обратного прокси

Kak Nastroit Haproxy V Kacestve Obratnogo Proksi



Если у вас есть веб-сервер, возможность пересылать запросы клиентов и ответы сервера помогает распределять трафик и повышает безопасность. Обратный прокси-сервер, такой как HAProxy, при настройке действует как посредник между вашим веб-приложением и клиентскими устройствами. Таким образом, он получает запросы клиентов и пересылает их на соответствующий веб-сервер, одновременно получая ответ сервера и передавая его клиентам. Настройка HAProxy на стороне вашего сервера в качестве обратного прокси-сервера — это простой процесс. В этом посте подробно описаны шаги, которые вам следует предпринять.

Зачем использовать обратный прокси?

Прежде чем обсуждать шаги по настройке HAProxy в качестве обратного прокси-сервера, давайте быстро выделим, почему обратный прокси-сервер работает в ваших интересах. Ниже приведены преимущества, которые вы получаете при использовании HAProxy в качестве обратного прокси:

  1. Балансировка нагрузки - В какой-то момент на вашем веб-сервере может появиться множество клиентских запросов, которые, если их не обработать должным образом, могут перегрузить его, что приведет к неожиданному простою. Однако настройка обратного прокси-сервера гарантирует, что трафик распределяется по внутренним серверам, чтобы гарантировать, что ни один сервер не будет перегружен запросами.
  2. Брандмауэр и безопасность – Обратный прокси-сервер подключает клиентские устройства к веб-серверу. Это снижает риск прямого доступа наших серверов к Интернету. Таким образом, вредоносный трафик можно легко отфильтровать и заблокировать, прежде чем он нанесет ущерб серверам.
  3. Лучшее кэширование – Используя обратный прокси-сервер, вы заметите общее улучшение производительности, поскольку время загрузки будет сокращено за счет кэширования статического контента. Кроме того, вы добьетесь лучшего пользовательского опыта.
  4. Прекращение SSL/TLS – Благодаря обратному прокси-серверу шифрование и дешифрование соединений SSL/TLS становится беспрепятственным, и вашим внутренним серверам не придется брать на себя эту задачу, что снижает их нагрузку.

Как настроить HAProxy в качестве обратного прокси

Объяснив, почему необходим обратный прокси-сервер, такой как HAProxy, давайте опишем шаги настройки, которым необходимо следовать.







Шаг 1. Установите HAProxy



Вероятно, в вашей системе уже установлен HAProxy. Если да, пропустите этот шаг. Однако для новичков в этом вопросе выполните следующую команду для установки HAProxy:



$ sudo apt установить haproxy

В нашем случае он уже установлен.





Шаг 2. Отредактируйте файл конфигурации HAProxy.



У HAProxy есть файл конфигурации, к которому вам необходимо получить доступ и отредактировать, чтобы настроить его в качестве обратного прокси-сервера. Начните с открытия файла конфигурации с помощью текстового редактора.

$ sudo nano /etc/haproxy/haproxy.cfg

Как только он откроется, обратите внимание, что он имеет базовые конфигурации для разделов по умолчанию и глобальных разделов. Затем мы должны создать еще два раздела: интерфейс и серверную часть. Интерфейс определяет интерфейсы, которые должны получать клиентские запросы, а серверная часть определяет серверы, которые будут обрабатывать трафик.

В этом примере мы настраиваем внешний интерфейс для приема клиентских запросов с портов 80 и 81. Затем мы создаем правило для распределения трафика таким образом, чтобы соединения с порта 80 направлялись на определенный сервер, а соединения с порта 81 - на другой. сервер. Наш раздел внешнего интерфейса выглядит следующим образом:

Поскольку мы создали два серверных сервера, backend2 и linux_backend, мы должны создать внутренние разделы для обоих серверов. Указываем по какому IP распределять трафик на наш «сервер1» и «сервер2» для каждого.

После редактирования файла конфигурации сохраните его и выйдите из файла. Обратите внимание, что существует множество способов настройки HAProxy в зависимости от ваших потребностей. В нашем случае мы создаем веб-серверы, используя указанный IP-адрес для маршрутизации нашего трафика. Измените IP-адреса, чтобы они соответствовали IP-адресам ваших веб-серверов и порту, который вы хотите прослушивать.

Шаг 3. Проверьте достоверность

В HAProxy есть команда, которая позволяет вам проверить, действителен ли ваш файл конфигурации. Запустите следующую команду и посмотрите, какой результат вы получите:

$ sudo haproxy -c -f /etc/haproxy/haproxy.cfg

Если вы получите аналогичный вывод, это подтверждает, что ваш файл конфигурации действителен. В противном случае это приведет к ошибкам.

Шаг 4. Проверьте обратный прокси-сервер

Используя команду типа «curl», вы можете отправить трафик на свой веб-сервер и посмотреть, как он отреагирует. В нашем случае мы используем Python3 для создания веб-серверов.

Запуск команды «curl» подтверждает, что наш веб-сервер прослушивает указанный порт и что HAProxy распределил трафик на указанный сервер на основе нашего файла конфигурации.

Вы также можете получить доступ к своему веб-серверу через браузер и убедиться, что обратный прокси-сервер работает.

Поскольку у нас есть два веб-сервера, которые можно использовать в зависимости от порта, используемого клиентскими устройствами, давайте привяжем другой веб-сервер к другому порту и посмотрим, что произойдет.

Следующий вывод показывает, что HAProxy отправил наш трафик на второй внутренний сервер после обнаружения того, что клиентский запрос был отправлен через порт 81, подтверждая, что распределение трафика работает должным образом.

Вот как настроить HAProxy в качестве обратного прокси.

Заключение

HAProxy — отличный выбор в качестве обратного прокси-сервера для вашего веб-сервера. Настроить его несложно. Укажите только, какой порт прослушивать клиентские запросы и какие правила использовать для балансировки нагрузки. Затем добавьте используемые внутренние серверы, и обратный прокси-сервер будет запущен и работает. В этом посте были описаны шаги, которые необходимо выполнить, и продемонстрирован пример, который поможет вам освоиться с HAProxy.