Frod

09.10.2026

haproxy proxy protocol

Frod — свобода без границ

Что такое haproxy proxy protocol и зачем он нужен

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

Что такое haproxy proxy protocol?

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

Если вы используете HAProxy в качестве балансировщика нагрузки, то без proxy protocol ваше приложение может "узнать" только IP-адрес самого HAProxy, а не реального клиента. Это затрудняет реализацию таких задач, как ограничение по IP, логирование, аутентификация и защита от атак.

Как работает haproxy proxy protocol?

Когда включен proxy protocol, HAProxy в начале соединения отправляет специальный заголовок, содержащий информацию о клиенте, перед началом обычных данных. Ваше приложение или конечный сервер могут затем распарсить этот заголовок и получить точные сведения о клиенте.

Это особенно важно в сложных инфраструктурах, где есть цепочка прокси или балансировщиков. Без proxy protocol ваше приложение "видит" только IP-адрес HAProxy, а с ним — полноценные данные о реальном клиенте.

Почему стоит использовать haproxy proxy protocol?

  • Точная идентификация клиента: Передача реального IP позволяет корректно анализировать трафик и защищать ресурсы.
  • Логирование и аудит: Можно вести точную статистику по клиентам.
  • Безопасность: Обеспечивает правильное применение правил фильтрации и ограничений.
  • Масштабируемость: Позволяет цепочке прокси сохранять информацию о клиентах без потерь.

Как включить proxy protocol в HAProxy?

Настройка довольно проста. В конфигурационном файле HAProxy нужно добавить опцию send-proxy или send-proxy-v2 в секцию listen или frontend:

frontend http_front
 bind *:80 ssl crt /etc/ssl/certs/mycert.pem send-proxy
 default_backend servers

На стороне сервера, который принимает соединения, необходимо включить поддержку proxy protocol — например, в nginx или другом приложении.

Для nginx это делается так:

listen 80 proxy_protocol;

И далее в конфигурации можно получить доступ к данным о клиенте.

Итог

haproxy proxy protocol — важный инструмент для тех, кто заботится о точной идентификации клиентов и безопасности в инфраструктуре с балансировкой нагрузки. Он помогает сохранить информацию о реальных клиентах даже за цепочкой прокси и балансировщиков, что делает управление и защиту трафика более прозрачными и эффективными.

Если вы используете HAProxy и хотите обеспечить полноценное логирование и безопасность — обязательно рассмотрите возможность включения proxy protocol.