我们有一个用例,需要有一个可以处理多个后端的 TCP 和 UDP 流量的负载均衡器。我们希望根据源网络路由流量。例如:
Customer A (192.168.1.0/24) -> Load Balancer -> Backend1
Customer B (192.168.2.0/27) -> Load Balancer -> Backend2
我们过去曾使用过 nginx,如果可能的话还想再次使用它,我们想象它的一些伪配置如下:
stream {
upstream customerA {
server backend1:514;
}
upstream customerB {
server backend2:514;
}
server {
listen 514;
if ($source_ip == '192.168.1.0/24') {
proxy_pass customerA;
}
if ($source_ip == '192.168.2.0/27') {
proxy_pass customerB;
}
}
}
我知道这个话题:根据源IP的Nginx TCP流路由但有评论认为它不会起作用。
我们如何才能实现这个目标?