Как nginx обрабатывает TCP/UDP-сессии

Обработка клиентской TCP/UDP-сессии происходит последовательными фазами:

Post-accept
Первая фаза после принятия клиентского соединения. В этой фазе выполняется модуль ngx_stream_realip_module.
Pre-access
Предварительная проверка доступа. В этой фазе выполняются модули ngx_stream_limit_conn_module и ngx_stream_set_module.
Access
Ограничение доступа для клиента перед обработкой данных. В этой фазе выполняется модуль ngx_stream_access_module, при использовании njs выполняется директива js_access.
SSL
Терминирование TLS/SSL. В этой фазе выполняется модуль ngx_stream_ssl_module.
Preread
Чтение первых байт данных в буфер предварительного чтения для анализа, например модулем ngx_stream_ssl_preread_module, перед их обработкой. При использовании njs в этой фазе выполняется директива js_preread.
Content
Обязательная фаза, в которой происходит обработка данных, как правило проксирование на группу серверов или отправка клиенту заданного значения. При использовании njs в этой фазе выполняется директива js_filter.
Log
Заключительная фаза, в которой записывается результат обработки клиентской сессии. В этой фазе выполняется модуль ngx_stream_log_module.