Поддержка PROXY Protocol на личном VPS в 2026 году
Как включить PROXY Protocol на личном VPS SANSARA в 2026 году: практические настройки для Nginx и HAProxy, чтобы сохранять реальный IP клиента в логах и приложениях через выделенный узел.
Чтобы использовать PROXY Protocol с вашим личным VPS SANSARA, включите его в конфигурации Nginx или HAProxy на вашем выделенном узле. Это позволит вашему приложению видеть реальный IP-адрес клиента, а не IP балансировщика или шлюза. Начните с регистрации в SANSARA, выберите локацию из 9+ стран, получите данные подключения в кабинете и импортируйте их в клиент на iPhone, Android, Windows или macOS. После этого войдите на сервер и настройте PROXY Protocol по инструкции ниже.
Коротко:
- PROXY Protocol — это специальный заголовок поверх TCP, который передаёт IP клиента через балансировщик или шлюз.
- Без него сервер видит только IP промежуточного узла, что ломает логирование, ограничения по IP и гео-проверки.
- На личном VPS SANSARA вы можете включить PROXY Protocol в Nginx или HAProxy без ограничений общего пула.
- Telegram-бот SANSARA помогает быстро получить данные подключения и управлять сервером с мобильного устройства.
- Поддержка есть для всех основных ОС и устройств: iPhone, Android, Windows, macOS.
- В кабинете доступны узлы в Европе и других регионах — выбирайте ближайший для минимальных задержек.
Что это и кому подходит
PROXY Protocol — это протокол уровня TCP, который добавляет небольшой заголовок в начало соединения. В этом заголовке передаются исходные данные клиента: IP-адрес, порт, тип соединения (IPv4/IPv6) и статус TLS. Задний сервер (например, ваш личный VPS) читает этот заголовок и узнаёт, кто на самом деле подключился.
Без PROXY Protocol, когда трафик проходит через балансировщик, шлюз или другой промежуточный узел, сервер видит только IP этого узла. Это приводит к нескольким проблемам:
- Логи показывают не клиентов, а IP балансировщика.
- Ограничения по IP (например, разрешить доступ только с определённых адресов) перестают работать корректно.
- Гео-зависимые правила и проверки не видят реальное местоположение клиента.
- Почтовые системы (SPF, DMARC) могут некорректно проверять отправителя.
PROXY Protocol решает эти проблемы, передавая исходный IP на уровень приложения.
Кому подходит:
- Владельцам личных VPS, которые хотят видеть реальные IP клиентов в логах и приложениях.
- Тем, кто использует балансировщики, шлюзы или облачные Load Balancer перед своим сервером.
- Администраторам почтовых серверов, веб-приложений и игровых серверов, где важны IP-ограничения и аудит.
- Пользователям SANSARA, которые хотят гибко настраивать свой выделенный узел без ограничений общего пула.
| Подход | Как передаёт IP | Уровень | Когда использовать |
|---|---|---|---|
| PROXY Protocol | Заголовок в начале TCP-соединения | L4 (TCP) | Когда нужен точный IP для любого протокола (HTTP, почта, игры) |
| X-Forwarded-For | HTTP-заголовок | L7 (HTTP) | Только для HTTP/HTTPS, не подходит для почты или TCP-сервисов |
| Прямое соединение | Без заголовков, клиент подключается напрямую | L3/L4 | Если нет промежуточных узлов и не нужна балансировка |
Как настроить по шагам (с личным VPS SANSARA)
Ниже — практические шаги для включения PROXY Protocol на вашем личном VPS SANSARA. Предполагается, что вы уже зарегистрировались, выбрали локацию и получили данные подключения в кабинете.
Шаг 1. Подключитесь к вашему личному VPS
Используйте данные из кабинета SANSARA:
- Адрес сервера (IP или домен)
- Порт
- Логин и пароль (или ключ)
На Windows и macOS удобно использовать SSH-клиенты типа PuTTY или встроенный терминал. На iPhone и Android — мобильные SSH-клиенты или приложения с поддержкой импорта конфигурации. Telegram-бот SANSARA поможет быстро скопировать параметры подключения.
Шаг 2. Установите и настройте Nginx (если используете его)
Если на вашем VPS уже стоит Nginx, проверьте его версию:
`bash nginx -v `
Для работы с PROXY Protocol подойдёт любая современная версия Nginx (поддержка добавлена давно и стабильна в 2026 году).
#### Включение приёма PROXY Protocol в Nginx
Отредактируйте конфигурацию Nginx (обычно /etc/nginx/nginx.conf или файлы в /etc/nginx/conf.d/).
Добавьте или измените блок server для порта, на который приходит трафик с балансировщика или шлюза:
`nginx server { listen 80 proxy_protocol; listen 443 ssl http2 proxy_protocol;
set_real_ip_from 10.0.0.0/8; set_real_ip_from 192.168.0.0/16;
real_ip_header proxy_protocol;
access_log /var/log/nginx/access.log '$proxy_protocol_addr - $remote_user [$time_local] "$request"';
server_name example.com; root /var/www/html; ... } `
Ключевые моменты:
- listen ... proxy_protocol — говорит Nginx ожидать PROXY-заголовок на указанных портах.
- set_real_ip_from — перечисляем доверенные подсети или IP, от которых разрешён PROXY Protocol.
- real_ip_header proxy_protocol — указывает, что исходный IP берётся из PROXY-заголовка.
- $proxy_protocol_addr — переменная, содержащая реальный IP клиента.
После изменения конфигурации проверьте её и перезагрузите Nginx:
`bash nginx -t systemctl reload nginx `
#### Передача PROXY Protocol дальше (опционально)
Если за Nginx стоит другое приложение (например, бэкенд на другом порту), и вы хотите передать туда реальный IP, используйте proxy_protocol в блоке stream или настройте передачу через HTTP-заголовки (X-Real-IP, X-Forwarded-For).
Пример для stream (TCP-прокси):
`nginx stream { server { listen 2222; proxy_pass backend_service:4444; proxy_protocol on; } } `
Здесь Nginx будет добавлять PROXY-заголовок при подключении к бэкенду на порту 4444.
Шаг 3. Настройка HAProxy с PROXY Protocol
Если вы используете HAProxy как балансировщик или шлюз перед вашим приложением, его тоже можно настроить на отправку и приём PROXY Protocol.
#### Отправка PROXY Protocol на бэкенды
В конфигурации HAProxy (/etc/haproxy/haproxy.cfg) в секции backend добавьте параметр send-proxy или send-proxy-v2 к серверам:
`haproxy frontend web_front bind *:80 mode http default_backend web_servers
backend web_servers mode http balance roundrobin server web1 10.0.1.10:8080 check send-proxy server web2 10.0.1.11:8080 check send-proxy `
- send-proxy — отправляет PROXY Protocol v1 (текстовый формат).
- send-proxy-v2 — отправляет PROXY Protocol v2 (бинарный, более компактный и расширяемый).
На стороне бэкенда (вашего личного VPS) убедитесь, что приложение или веб-сервер поддерживает чтение PROXY-заголовка.
#### Приём PROXY Protocol в HAProxy
Если перед HAProxy стоит ещё один шлюз или балансировщик, который отправляет PROXY Protocol, настройте accept-proxy во frontend:
`haproxy frontend web_front_pp bind *:80 accept-proxy mode http default_backend web_servers `
Параметр accept-proxy говорит HAProxy ожидать PROXY-заголовок на входящих соединениях.
После изменения конфигурации проверьте и перезапустите HAProxy:
`bash haproxy -c -f /etc/haproxy/haproxy.cfg systemctl reload haproxy `
Шаг 4. Проверка работы
После настройки:
- 01Откройте логи Nginx или HAProxy:
`bash tail -f /var/log/nginx/access.log `
- 01Сделайте тестовый запрос к вашему серверу.
- 02Убедитесь, что в логах отображается реальный IP клиента, а не IP балансировщика или шлюза.
Если IP отображается корректно — PROXY Protocol работает.
Устройства: iPhone, Android, Windows, macOS
Настройка PROXY Protocol выполняется на стороне сервера (вашего личного VPS SANSARA), поэтому клиентские устройства подключаются как обычно.
iPhone и Android
- Используйте приложения, которые поддерживают импорт конфигурации из файла или ссылки.
- Telegram-бот SANSARA поможет быстро получить готовую конфигурацию для мобильного клиента.
- После импорта просто включайте подключение — все настройки PROXY Protocol уже работают на сервере.
Windows
- Подключитесь к вашему VPS через SSH-клиент (PuTTY, Windows Terminal) или используйте десктопные клиенты с поддержкой импорта.
- Если вы настраиваете PROXY Protocol для веб-сервера, браузер на Windows будет видеть корректные IP в логах сервера.
macOS
- Воспользуйтесь встроенным терминалом или популярными SSH-клиентами.
- Импортируйте настройки из кабинета SANSARA или используйте данные, которые присылает Telegram-бот.
Важно: на клиентских устройствах вам не нужно настраивать PROXY Protocol — это задача серверной части. Вы просто подключаетесь к своему выделенному узлу, а он уже правильно обрабатывает IP-адреса.
Частые ошибки и как их избежать
- 01Nginx не видит реальный IP в логах
- Причина: забыли добавить proxy_protocol в директиве listen или не настроили real_ip_header proxy_protocol.
- Решение: проверьте, что в server-блоке есть listen ... proxy_protocol и real_ip_header proxy_protocol. Убедитесь, что IP балансировщика указан в set_real_ip_from.
- 01Ошибка «broken header» или «unrecognized protocol»
- Причина: балансировщик отправляет PROXY Protocol, а сервер его не ожидает, или наоборот.
- Решение: синхронизируйте настройки на всех узлах. Если балансировщик отправляет PROXY Protocol, сервер должен быть настроен на его приём. Если не отправляет — не включайте proxy_protocol на сервере.
- 01PROXY Protocol включён, но приложение всё равно видит IP шлюза
- Причина: приложение не использует переданный IP из PROXY-заголовка, а смотрит на стандартное поле соединения.
- Решение: настройте приложение или фреймворк на чтение IP из заголовка X-Forwarded-For, X-Real-IP или соответствующей переменной ($proxy_protocol_addr в Nginx).
- 01Неверные доверенные IP в set_real_ip_from
- Причина: указаны не те подсети, от которых приходит трафик с PROXY Protocol.
- Решение: узнайте IP вашего балансировщика или шлюза и добавьте его в set_real_ip_from. Если это облачный балансировщик, посмотрите документацию провайдера.
- 01Проблемы с IPv6
- Причина: PROXY Protocol поддерживает IPv6, но конфигурация может быть неполной.
- Решение: убедитесь, что в заголовке указывается TCP6, если клиент использует IPv6. В Nginx и HAProxy современные версии обрабатывают это автоматически.
FAQ
Зачем нужен PROXY Protocol, если есть X-Forwarded-For?+
X-Forwarded-For работает только для HTTP/HTTPS. PROXY Protocol — на уровне TCP, поэтому подходит для любых протоколов: почта, базы данных, игровые серверы и т.д. Кроме того, PROXY Protocol сложнее подделать, если правильно настроить доверенные IP.
Нужно ли настраивать PROXY Protocol на клиенте (телефоне или компьютере)?+
Нет. PROXY Protocol настраивается на сервере или промежуточных узлах (балансировщиках, шлюзах). Клиентские устройства подключаются стандартным образом, ничего дополнительно настраивать не нужно.
Будет ли PROXY Protocol работать с моим облачным балансировщиком (AWS, GCP и т.п.)?+
Да, многие облачные провайдеры поддерживают PROXY Protocol для Network Load Balancer и подобных сервисов. Вам нужно включить его в настройках балансировщика и соответствующим образом настроить ваш личный VPS SANSARA для приёма заголовка.
Можно ли использовать PROXY Protocol с почтовым сервером?+
Да, именно для почтовых серверов PROXY Protocol особенно полезен: он позволяет корректно определять IP отправителя для SPF, DMARC и антиспам-проверок. Многие почтовые серверы (например, Postfix, Exim) поддерживают чтение PROXY-заголовка.
Что делать, если мой клиент не поддерживает импорт конфигурации из кабинета SANSARA?+
Telegram-бот SANSARA позволяет получить параметры подключения в текстовом виде. Вы можете вручную ввести сервер, порт, логин и пароль в настройках клиента. Если клиент совсем не подходит, выберите другой из рекомендованных для вашей ОС.
Итог
- Включите proxy_protocol в директиве listen Nginx на вашем личном VPS SANSARA, если трафик приходит через балансировщик или шлюз с поддержкой PROXY Protocol.
- Настройте set_real_ip_from и real_ip_header proxy_protocol, чтобы Nginx использовал реальный IP клиента в логах и приложениях.
- В HAProxy используйте send-proxy/send-proxy-v2 для отправки PROXY Protocol на бэкенды и accept-proxy для приёма от вышестоящих узлов.
- Проверьте логи после настройки — убедитесь, что отображается правильный IP клиента, а не промежуточного шлюза.
- Используйте кабинет SANSARA и Telegram-бота для быстрого получения данных подключения и управления сервером с iPhone, Android, Windows или macOS.
Ещё по теме
Читайте также
CTA · SANSARA
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.