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模块 在此阶段被调用。