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,说明已经代理成功了。