Nginx利用ngx_http_upstream_module模块定义后端服务器组

Nginx四层负载均衡

先利用ngx_http_upstream_module模块定义一个后端服务器组
然后再用ngx_stream_proxy_module模块基于四层进行四层负载均衡

ngx_http_upstream_module模块相关配置可以参考下面文章
Nginx利用ngx_http_upstream_module模块定义后端服务器组

ngx_stream_proxy_module模块

ngx_stream_proxy_module模块允许nginx基于四层做代理。使用这个模块,需要编译的时候加上–with-stream

1. proxy_pass address;

设置代理服务器的地址。该地址可以指定为域名或IP地址,以及端口

2.proxy_timeout timeout;

在客户端或代理服务器连接上的两次连续读写操作之间设置超时。如果在此时间内没有发送数据,则连接被关闭。默认为10m;

3.proxy_connect_timeout time;

设置nginx与被代理的服务器尝试建立连接的超时时长;默认为60s;

实验内容:用Nginx代理ssh协议。
后端服务器:
192.168.253.129:22端口开启ssh服务
192.168.253.140:22端口开启ssh服务

代理服务器:
192.168.253.128:9222端口接受用户的代理请求

示例:

worker_processes  1;
events {
    worker_connections  1024;
}
stream {
	upstream ssh_server {
       	server 192.168.253.129:22;
	    server 192.168.253.140:22;
	} 
        server {
            listen 192.168.253.128:9222;
            proxy_pass  ssh_server;
            proxy_timeout 60s;
			proxy_connect_timeout 10s;
        }
}

这里写图片描述
我们ssh向192.168.253.128,登陆上去之后可以发现实际上到了192.168.253.129,说明已经代理成功了。

猜你喜欢

转载自blog.csdn.net/L835311324/article/details/83108287