Nginx轮询是调度策略而非协议,支持HTTP/HTTPS(七层,http块)和TCP/UDP(四层,stream块);七层支持WebSocket、gRPC等,四层支持MySQL、Redis、DNS等任意TCP/UDP服务。

Nginx 的轮询负载均衡本身不是一种独立协议,而是调度策略,它可作用于不同层级的代理配置中,所支持的底层通信协议取决于 Nginx 启用的模块和配置位置(http 块或 stream 块)。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
以下是实际支持的底层通信协议分类说明:
HTTP/HTTPS(七层)
使用http模块下的upstream+proxy_pass,基于ngx_http_proxy_module。
支持协议:HTTP、HTTPS、WebSocket、gRPC(需http_v2_module)、FastCGI(PHP)、uWSGI(Python)等。
轮询在此层按 HTTP 请求粒度分发,可结合 URL、Header、Cookie 等做高级路由。-
TCP/UDP(四层)
使用stream模块下的upstream+proxy_pass,需编译时启用--with-stream。
支持协议:任意基于 TCP 或 UDP 的服务,例如:- MySQL、PostgreSQL(TCP 3306/5432)
- Redis(TCP 6379)
- SSH(TCP 22)
- DNS(UDP 53)
- 自定义私有协议(只要走 TCP/UDP 即可)
轮询在此层按连接(connection)粒度分发,不解析应用层内容,仅转发数据包。
-
不支持的协议类型
Nginx 轮询机制不直接支持:- ICMP、ARP、SCTP(除非打补丁或使用第三方模块)
- 非 TCP/UDP 的传输层协议
- 应用层非标准协议(如未通过
proxy_pass或stream显式配置的协议)
关键点:
轮询算法本身与协议无关,真正决定“能负载哪些协议”的是 Nginx 的模块能力与配置上下文——http{} 块管七层,stream{} 块管四层,二者都支持轮询(及加权轮询),但底层通信协议范围完全不同。

















