Nginx四层代理

四层代理原理

 四层代理是:基于4层的TCP或者UDP代理 IP+端口 ,用于nginx作为前端负载均衡器时使用,仅用于转发访问请求给后端的web集群。

和http块同级别,一般配置在http块上面配置stream模块,安装时必须先开启stream模块--with-stream

stream {
upstream 服务器组名 {
server SERVER1IP:PORT;
server SERVER2IP:PORT;
......
}
server {
listen [IP:]PORT
proxy_pass 服务器组名;
}
}

Nginx 四层代理之动静分离与负载均衡_Tomcat

实验案例

首先准备好两台配置好Nginx7层反向代理配置的服务器(以Nginx作为负载均衡器,Tomcat作为应用服务器),但做四层代理时编译需要添加 --with-stream

环境配置

主机                           IP
Nginx服务器1 (四层代理) 192.168.163.6
Nginx服务器2 (七层代理) 192.168.163.8
Nginx服务器2 (七层代理) 192.168.163.10
Tomcat服务器1 192.168.163.7
Tomcat服务器1 192.168.163.9

1.配置好两台Nginx七层代理服务器

​Nginx 七层代理配置​

Nginx 四层代理之动静分离与负载均衡_四层代理_02

2.配置四层代理服务器

./configure --with-stream
vim /usr/local/nginx/conf/nginx.conf

和http同等级:所以一般只在http上面一段设置,
stream {

upstream appserver {
server 192.168.163.8:80 weight=1;
server 192.168.163.10:80 weight=1;
}
server {
listen 8888;
proxy_pass appserver;
}
}

http {
......

systemctl restart nginx #重启服务

Nginx 四层代理之动静分离与负载均衡_Tomcat_03

3.测试静态页面访问

测试静态页面效果
浏览器访问 http://192.168.163.6:8888
浏览器访问 http://192.168.163.6:8888/error.jpg

Nginx 四层代理之动静分离与负载均衡_nginx_04

Nginx 四层代理之动静分离与负载均衡_Tomcat_05

4.测试动态页面访问

Nginx四层代理访问动态页面
浏览器访问:http://192.168.163.6:8888/test/index.jsp

Nginx 四层代理之动静分离与负载均衡_nginx_06

Nginx 四层代理之动静分离与负载均衡_四层代理_07

Nginx 四层代理之动静分离与负载均衡_Tomcat_08