pass
Директива 'pass' определяет, куда направлять запросы клиентов в stream-модуле NGINX. — NGINX Stream Core
Описание
Директива 'pass' используется для переадресации запросов клиентов на указанный upstream server в контексте stream-модуля NGINX, который обычно применяется для TCP и UDP трафика. Директива указывает upstream server, который будет обрабатывать входящие соединения, обеспечивая возможности load balancing и failover. Директива может содержать опции, такие как указание server name или номера порта. Когда соединение соответствует критериям, определённым в stream-блоке, директива 'pass' инструктирует NGINX установить соединение с указанным upstream server и ретранслировать пакеты данных между клиентом и upstream server. Это фактически заставляет NGINX выступать в роли proxy для stream-трафика, предоставляя такие возможности, как SSL termination и поддержание connection pool. Администраторам важно убедиться, что конфигурация указанного upstream server корректна, чтобы избежать сбоев соединения. Директива может применяться в различных контекстах внутри 'stream' блока, но чаще всего определяется внутри 'server' блока, где указывается одна upstream destination. Такой модульный подход обеспечивает гибкость в маршрутизации и эффективном управлении соединениями.
Пример конфига
stream {
upstream backend {
server backend1.example.com:1234;
server backend2.example.com:1234;
}
server {
listen 1234;
pass backend;
}
}Убедитесь, что upstream server доступен; в противном случае соединения не будут установлены.
Избегайте использования директивы 'pass' в HTTP контекстах; она специфична для stream контекстов.
Учитывайте особенности обработки соединений — NGINX держит соединения открытыми для эффективной передачи данных, что при ненадлежащем управлении может привести к проблемам с ресурсами.