Nginx实现TCP/UDP调度

主要功能在于:TCP/UDP是在第四层的传输协议,而web是会话层面的应用,所有实现TCP/UDP的调动,可以使得nginx支持更多的运用,比如对ssh。但是 nginx1.9之前只支持http,之后支持tcp/udp,之后可以做任何服务的调度器。调度的过程如下图:

                 

客户端发送请求,nginx代理服务器把客户端发送的请求通过调度,把请求发送给相应的服务器,服务器在处理完请求之后,回应给nginx代理服务器,nginx代理服务器把数据送给客户端。


配置举例:

条件:需要四台主机,客户端,nginx代理服务器,两条被调动的服务器,配置要求按照上图配置。

nginx代理服务器配置

[root@proxy ~]# yum –y install gcc pcre-devel openssl-devel        //安装依赖包

[root@proxy ~]# tar -xf nginx-1.12.2.tar.gz

[root@proxy ~]# cd nginx-1.12.2

[root@proxy nginx-1.12.2]# ./configure \

> --with-http_ssl_module                         //开启SSL加密功能

> --with-stream                                 //开启4层反向代理功能

[root@proxy nginx-1.12.2]# make && make install     //编译并安装

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf

stream {

        upstream backend { ----------用于定义集群upstream 并给集群起名

    server 192.168.2.100:22;            ----------后端SSH服务器的IP和端口

   server 192.168.2.200:22;

}

         server {

         listen 12345;                     --------Nginx监听的端口,可以自己配置

         proxy_connect_timeout 1s;

         proxy_timeout 3s;

        proxy_pass backend; ------把访问需求交给上面的集群

             }

}

[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload (保证服务已经开启)


客户端测试:

[root@client ~]# ssh 192.168.4.5 -p 12345










猜你喜欢

转载自blog.csdn.net/zhydream77/article/details/81013683