nginx如何处理TCP/UDP会话

客户端的TCP/UDP会话被处理为连续的步骤,称为阶段

Post-accept
在接受客户端连接后的第一个阶段。此阶段调用了ngx_stream_realip_module模块。
Pre-access
对访问进行初步检查。此阶段调用了ngx_stream_limit_conn_modulengx_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模块。