当 nginx 用作 udp 负载均衡器时,我看到了一种特定的意外行为。
以下是我的设置拓扑
客户端 <-----> NGINX <------> 后端服务器
Nginx 监听 udp 5246 端口,并将传入流量代理到后端服务器。作为通信的一部分,后端服务器将客户端计算机与传入端口和 IP 组合绑定在一起,并期望通过同一端口从客户端计算机进行所有进一步的通信。
但是使用 nginx 时,我发现我的客户端机器总是发送具有相同源端口的所有数据包。代理时,nginx 总是更改源端口并将数据包发送到后端服务器。因此,客户端和服务器之间建立了连接。
因此,您能否就此指导我?
使用的配置:
溪流 {
upstream backendCapwapControl {
server 10.155.2.2:5246;
}
server {
listen 5246 reuseport udp;
proxy_pass backendCapwapControl;
error_log /etc/nginx/log/controllogfile.log debug;
}