proxy_requests
Директива proxy_requests контролирует, может ли NGINX обрабатывать входящие прокси-запросы в модуле stream. — NGINX Stream Core
Описание
Директива `proxy_requests` используется в модуле NGINX Stream для пересылки stream-подключений на upstream-серверы, позволяя NGINX выступать в роли обратного прокси для трафика TCP и UDP. Эта директива позволяет администраторам указать, следует ли принимать proxy-запросы для заданного блока сервера stream. Когда она включена, NGINX может управлять сессиями, поддерживая состояние соединений, и обеспечивает обмен данными между клиентом и upstream-сервером через настроенные параметры stream-прокси. Эта директива принимает один аргумент, который может быть задан как `off` или `on`. Установка в `on` позволяет NGINX обрабатывать входящие запросы как proxy-запросы, в то время как `off` отключает эту функцию, фактически прерывая любые входящие соединения без проксирования. Использование этой директивы требует учета поведения приложения, поскольку неправильное применение может привести к неожиданным разрывам соединений или недоступности сервиса, если попытка подключения происходит при отключенном проксировании. На практике применение `proxy_requests` должно тщательно согласовываться с другими директивами stream для обеспечения корректного потока и маршрутизации сетевых запросов. Например, в сочетании с директивами `proxy_pass` она может упростить сложные сетевые сценарии, в которых несколько upstream-серверов участвуют в поддержке пользовательских сессий или потоков данных.
Пример конфига
stream {
server {
listen 1234;
proxy_requests on;
proxy_pass backend_servers;
}
}Использование `proxy_requests off;` может непреднамеренно блокировать допустимые прокси-запросы, что приводит к завершению соединения.
Убедитесь, что эта директива установлена в правильном контексте (т.е. 'stream' или 'stream server'), поскольку использование её в других контекстах приведёт к ошибкам конфигурации.