proxy_protocol

Директива `proxy_protocol` позволяет использовать PROXY protocol для передачи информации о подключении клиента.

Синтаксисproxy_protocol;
По умолчаниюoff
Контекст
Аргументыflag

Описание

Директива proxy_protocol в NGINX SRT Module определяет, следует ли включать или отключать использование PROXY protocol для входящих подключений. Если она включена, NGINX будет принимать входящие подключения, использующие PROXY protocol, что позволяет прокси передавать информацию о клиенте (например, исходный IP-адрес) на бэкенд-сервер. PROXY protocol помогает системам, которые зависят от обратного прокси, корректно определять данные клиента, особенно когда NGINX находится за другим балансировщиком нагрузки или прокси.

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

Важно убедиться, что все промежуточные узлы на пути соединения поддерживают PROXY protocol; в противном случае соединение может завершиться ошибкой или привести к утечкам данных или нарушению безопасности. Директиву обычно используют в контексте SRT server block, чтобы определить, могут ли SRT stream data сопровождать метаданные прокси при установлении соединения с бэкендом.

Пример конфига

srt {
    server {
        listen 4321;
        proxy_protocol;
        proxy_pass tcp://127.0.0.1:5678;
    }
}

Убедитесь, что все клиенты и прокси в цепочке соединений поддерживают протокол PROXY; в противном случае могут возникнуть ошибки соединения.

Имейте в виду, что включение протокола PROXY может подвергнуть серверы бэкенда потенциально вредоносным запросам, если они не защищены должным образом.

← Ко всем директивам