Nginx实现TCP负载均衡和反代理3306、3389端口的设置方法
安装和使用Nginx的方法这里我们就不提了,注意下载的版本,需要1.9.X以上的。
Nginx可用于TCP负载均衡,可以用于分散连接不同服务器上的数据库,代理3306、3389等端口。
值得注意的是,Nginx TCP 无法实现类似“HTTP”,同一个端口,根据不同域名,反代理到不同IP端口的效果。Nginx只能反代理不同的端口,用它作为TCP反代理会显得非常鸡肋,这个路由器本身就可以实现了。虽然Nginx可以用于反代理3389远程桌面,但是会经常断开并重连,我们并不建议你使用这种方式。
示例代码:
stream {
    upstream socketserver1 {
        hash $remote_addr consistent;
        server 192.168.1.1:3389 weight=5 max_fails=3 fail_timeout=30s;
        server 192.168.1.2:3389 weight=5 max_fails=3 fail_timeout=30s;
    }

    upstream socketserver2 {
        hash $remote_addr consistent;
        server 192.168.1.3:3306 weight=5 max_fails=3 fail_timeout=30s;
        server 192.168.1.4:3306 weight=5 max_fails=3 fail_timeout=30s;
    }

    server {
        listen 3389;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass socketserver1;
    }

    server {
        listen 3306;
        proxy_connect_timeout 1s;
        proxy_timeout 3s;
        proxy_pass socketserver2;
    }
}
注意事项:
1.不要把这段代码放在了http的括号里了。
2.有的资料上说用tcp{...},语法也有区别。不过笔者测试是会报错的,可能是版本问题,也可能是其它问题,不去管它了。
  • 真诚Empressment
  • 高效Efficiency
  • 进取Enterprise
WEIXIN
PHONE
CALL
QQ
TOP
X