Appearance
nginx 如何处理 TCP/UDP 会话
提示
来自deepseek解释
原文链接:https://nginx.org/en/docs/stream/stream_processing.html
来自客户端的 TCP/UDP 会话按一系列连续阶段(称为 phases)进行处理:
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 — 将数据的初始字节读入 preread buffer,以便 ngx_stream_ssl_preread_module 等模块在数据处理之前对其进行分析。对于 njs,js_preread 指令在此阶段被调用。
Content — 强制阶段,实际处理数据,通常将数据 代理 到 上游 服务器,或将指定值 返回 给客户端。对于 njs,js_filter 指令在此阶段被调用。
Log — 最终阶段,记录客户端会话处理的结果。ngx_stream_log_module 模块在此阶段被调用。