SANSARA
SANSARA13 июля 2026 г.12 мин

PROXY Protocol в 2026 году: как сохранить реальный IP клиента за прокси

Что такое PROXY Protocol и как его правильно включить на личном VPS SANSARA в 2026 году. Сохраняем реальный IP клиента за прокси, настраиваем NGINX, Traefik, HAProxy, работаем с iPhone, Android, Windows, macOS.

VPSSANSARAгайд

Чтобы за прокси или балансировщиком сервер видел исходный IP клиента, включите PROXY Protocol на личном VPS SANSARA. После регистрации получите данные подключения в кабинете и импортируйте их в клиент на своём устройстве. Сервер уже готов принимать трафик — остаётся активировать PROXY Protocol в настройках обратного прокси или приложения.

Коротко:

  • PROXY Protocol — небольшой заголовок, который прокси добавляет в начало TCP‑соединения и передаёт серверу исходный IP клиента.
  • Работает на уровне TCP, не зависит от HTTP, HTTPS или других протоколов поверх него.
  • Версия v2 — бинарная, компактнее v1 и несёт больше метаданных (например, признак TLS‑соединения).
  • Поддерживается в HAProxy, NGINX, Traefik, AWS Network Load Balancer и многих других системах.

Что это и кому подходит

Когда трафик проходит через прокси или балансировщик, сервер «видит» только IP этого промежуточного узла. PROXY Protocol решает эту проблему: прокси добавляет в начало соединения короткий блок с информацией о клиенте, а сервер его парсит и восстанавливает исходный IP.

Отличие от HTTP‑заголовков типа X-Forwarded-For:

  • X-Forwarded-For работает только для HTTP(S).
  • PROXY Protocol работает на уровне TCP, поэтому подходит для любого протокола поверх TCP (почта, базы данных, игровые серверы и т.д.).
  • Заголовок X-Forwarded-For легко подделать, если прокси не настроен правильно; PROXY Protocol принимается только от доверенных IP‑адресов прокси, что делает его безопаснее.

Кому это нужно:

  • Владельцам личных VPS, которые ставят перед приложениями обратный прокси (NGINX, HAProxy, Traefik).
  • Тем, кто хочет точного логирования IP‑адресов, IP‑based rate‑limiting, проверки SPF/DKIM/DMARC по реальному IP.
  • Тем, кто использует несколько уровней прокси (например, облачный балансировщик → свой прокси → бэкенд).

Как настроить по шагам (с личным VPS SANSARA)

Шаг 1. Получите личный VPS и данные подключения

  1. 01Зарегистрируйтесь в SANSARA.
  2. 02В кабинете выберите локацию (доступно 9+ стран) и закажите личный VPS.
  3. 03После активации в кабинете появятся данные подключения: адрес сервера, порт, тип шифрования, логин/пароль или строка конфигурации.
  4. 04Используйте Telegram‑бота SANSARA, чтобы быстро получить эти данные в чате.

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

Шаг 2. Выберите и настройте обратный прокси на VPS

Вариант A: HAProxy

HAProxy — один из самых популярных прокси с нативной поддержкой PROXY Protocol.

Пример конфигурации для отправки PROXY Protocol v2 на бэкенд:

` frontend web_front bind *:80 mode http default_backend webservers

backend webservers mode http server web1 127.0.0.1:8080 send-proxy-v2 check `

Здесь HAProxy принимает HTTP‑запросы на порту 80 и пересылает их на локальный сервер 127.0.0.1:8080, добавляя заголовок PROXY Protocol v2.

Если вы принимаете PROXY Protocol от другого прокси (например, облачного балансировщика), укажите это в bind:

` frontend tcp_front bind *:443 accept-proxy mode tcp default_backend tcp_servers `

Опция accept-proxy говорит HAProxy ожидать PROXY Protocol на входящих соединениях.

Вариант B: NGINX

В NGINX PROXY Protocol включается в директивах listen для stream‑модуля (уровень TCP) или для HTTP, если нужна поддержка на уровне L7.

Stream‑блок (например, для проксирования SMTP/IMAP или произвольного TCP):

` stream { server { listen 12345 proxy_protocol; proxy_pass backend_service; proxy_protocol on; } } `

Для HTTP‑блока:

` server { listen 80 proxy_protocol; listen 443 ssl proxy_protocol;

set_real_ip_from доверенный_IP_прокси; real_ip_header proxy_protocol; } `

Здесь real_ip_header proxy_protocol указывает NGINX брать IP из PROXY Protocol, а set_real_ip_from ограничивает доверенные источники.

Вариант C: Traefik

Traefik поддерживает PROXY Protocol v2 для TCP‑роутинга. В Docker‑метках или статической конфигурации можно указать:

`yaml

traefik.tcp.routers.smtp.entrypoints=smtp traefik.tcp.services.smtp.loadbalancer.proxyProtocol.version=2 `

В статическом traefik.yml для entrypoint:

`yaml entryPoints: websecure: address: ":443" proxyProtocol: insecure: false trustedIPs:

  • "192.168.1.0/24"

`

trustedIPs задаёт список доверенных адресов прокси, от которых Traefik будет принимать PROXY Protocol.

Шаг 3. Настройте бэкенд‑приложение принимать PROXY Protocol

Недостаточно включить PROXY Protocol на прокси — бэкенд тоже должен его понимать.

  • Если бэкенд — это другой NGINX, Apache, Traefik, Stalwart Mail Server и т.д., используйте их настройки для приёма PROXY Protocol (как в шаге 2).
  • Если это собственное приложение, используйте библиотеки, которые умеют парсить PROXY Protocol (например, netty-codec-haproxy для JVM‑приложений), и убедитесь, что они обновлены до версий с исправлением утечек памяти в обработке вложенных TLV‑записей.

Шаг 4. Проверьте работу

  1. 01Включите подробное логирование на бэкенде, чтобы видеть IP‑адреса в логах.
  2. 02Сделайте запрос через прокси и убедитесь, что в логе бэкенда отображается реальный IP клиента, а не IP прокси.
  3. 03Для TCP‑сервисов можно использовать tcpdump или tshark, чтобы убедиться, что PROXY‑заголовок присутствует в начале сессии.

Устройства: iPhone, Android, Windows, macOS

PROXY Protocol работает на стороне сервера, поэтому настройка на клиентских устройствах не требуется. Вам нужно только подключиться к своему личному VPS SANSARA через поддерживаемый клиент.

Windows / macOS

  • Используйте современные GUI‑клиенты, такие как Clash Verge Rev (поддерживает Mihomo/Clash Meta) или Surge (macOS/iOS). Они умеют работать с современными протоколами и имеют удобные интерфейсы для импорта конфигурации.
  • В Clash Verge Rev импортируйте конфигурацию, полученную из кабинета SANSARA или от Telegram‑бота, выберите нужный сервер и активируйте туннель.

Android

  • Один из самых популярных вариантов — v2rayNG. Он стабилен, поддерживает множество протоколов и регулярно обновляется.
  • В v2rayNG добавьте новую конфигурацию, вставив ссылку или строку конфига от SANSARA, затем запустите соединение.

iPhone

  • Surge для iOS — платное, но мощное решение с продвинутыми возможностями диагностики сети.
  • Альтернативно можно использовать другие поддерживаемые клиенты, которые работают с конфигурацией в формате, предоставляемом SANSARA.
  • Настройка сводится к импорту конфигурации (через файл, ссылку или текстовое поле) и включению туннеля.

Во всех случаях сам PROXY Protocol настраивается на вашем VPS в обратном прокси, а клиенты просто подключаются к защищённому каналу как обычно.

Частые ошибки и как их избежать

  1. 01PROXY Protocol включён только на одном конце

Симптом: соединения сбрасываются или в логах бэкенда виден IP прокси, а не клиента.

Решение: убедитесь, что:

  • Прокси отправляет PROXY Protocol (send-proxy-v2 в HAProxy, соответствующие опции в Traefik/других).
  • Бэкенд принимает PROXY Protocol (accept-proxy, proxy_protocol on, real_ip_header proxy_protocol и т.д.).
  1. 01Неправильные trusted IPs

Симптом: бэкенд отвергает соединения с PROXY Protocol или, наоборот, принимает поддельные заголовки.

Решение: всегда ограничивайте доверенные сети:

  • В NGINX: set_real_ip_from с CIDR прокси.
  • В Traefik: proxyProtocol.trustedIPs.
  • В других системах — аналогичные настройки «trusted proxies».
  1. 01Смешение PROXY Protocol и SSL/TLS

Симптом: TLS‑рукопожатие ломается, соединение не устанавливается.

Решение:

  • Если прокси не терминатор TLS, используйте PROXY Protocol поверх уже установленного TLS (например, TCP‑проксирование зашифрованного трафика).
  • Убедитесь, что бэкенд ожидает PROXY‑заголовок до начала TLS‑handshake.
  1. 01Старая версия библиотеки с уязвимостью CVE‑2026‑48059

Симптом: при определённых типах PROXY‑заголовков наблюдается рост потребления памяти, возможны отказы сервиса.

Решение: для JVM‑приложений, использующих Netty HAProxy codec, обновите netty-codec-haproxy до версий 4.1.135 или 4.2.15 и выше, где утечка памяти при парсинге вложенных PP2_TYPE_SSL TLV исправлена.

  1. 01PROXY Protocol v1 вместо v2

Симптом: всё работает, но логи не содержат дополнительных метаданных (TLS‑статус и др.), или возникают проблемы совместимости.

Решение: по возможности используйте PROXY Protocol v2:

  • В HAProxy: send-proxy-v2.
  • В Traefik: version=2.
  • Убедитесь, что бэкенд поддерживает v2.

FAQ

Зачем нужен PROXY Protocol, если есть X-Forwarded-For?+

X-Forwarded-For работает только для HTTP(S) и легко подделывается, если прокси не настроен правильно. PROXY Protocol работает на уровне TCP, подходит для любых протоколов и принимается только от доверенных IP‑адресов, что безопаснее и универсальнее.

На каких протоколах работает PROXY Protocol?+

На любых протоколах поверх TCP: HTTP, HTTPS, SMTP, IMAP, произвольные TCP‑сервисы. Это не HTTP‑заголовок, а отдельный блок данных в начале TCP‑соединения.

Нужно ли настраивать что‑то на клиенте (телефоне или компьютере)?+

Нет. PROXY Protocol настраивается исключительно на серверной стороне — между прокси/балансировщиком и бэкендом. Клиенты подключаются к вашему VPS как обычно, без изменений.

Можно ли использовать PROXY Protocol с облачными балансировщиками, например AWS NLB?+

Да. AWS Network Load Balancer поддерживает PROXY Protocol v2. Вы включаете его на стороне NLB, а ваш бэкенд (HAProxy, NGINX, Traefik) принимает заголовок и видит реальные IP клиентов.

Что делать, если бэкенд не поддерживает PROXY Protocol?+

Есть два пути:

  1. 01Поставить перед ним ещё один прокси, который будет принимать PROXY Protocol, снимать его и соединяться с бэкендом обычным TCP‑соединением.
  2. 02Если возможно, доработать приложение, добавив парсинг PROXY Protocol с помощью соответствующих библиотек.

Сравнение подходов к передаче клиентского IP

ПодходУровень работыБезопасностьУниверсальностьСложность настройки
PROXY ProtocolTCP (L4)Высокая (только от доверенных IP)Любой протокол поверх TCPСредняя (нужно на двух концах)
X-Forwarded-ForHTTP (L7)Низкая (легко подделать)Только HTTP(S)Низкая (только на прокси)
Транспарентный прокси (IP‑спуфинг)Сетевой (L3)Зависит от провайдераЛюбой трафикВысокая (требует поддержки от сети)

Итог

  1. 01Включите PROXY Protocol v2 на своём обратном прокси (HAProxy, NGINX, Traefik) и на бэкенде, чтобы за прокси всегда был виден реальный IP клиента.
  2. 02Ограничьте доверенные IP‑адреса, от которых принимается PROXY Protocol, чтобы избежать подделки заголовков.
  3. 03Обновите библиотеки парсинга PROXY Protocol (например, Netty) до версий с исправлением CVE‑2026‑48059, если используете их в своём стеке.
  4. 04На клиентских устройствах просто импортируйте конфигурацию из кабинета SANSARA или от Telegram‑бота в подходящий клиент (Clash Verge Rev, Surge, v2rayNG и др.) — больше ничего настраивать не нужно.
  5. 05Проверяйте логи бэкенда и, при необходимости, дампы трафика, чтобы убедиться, что PROXY Protocol работает корректно и IP‑адреса отображаются верно.

Ещё по теме

CTA · SANSARA

Личный VPS — без терминала и очередей

Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.