文章目录
一.四层代理原理
在OSI七层模型中,从下往上分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
本文中所指的四层与七层分别为:
四层传输层的Tcp/Udp
七层应用层的Http
4层代理
用的是NAT技术。NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,请求进来的时候,nginx修改数据包里面的目标和源IP和端口,然后把数据包发向目标服务器,服务器处理完成后,nginx再做一次修改,返回给请求的客户端。
7层代理
需要读取并解析http请求内容,然后根据具体内容(url)然后转发到相应的服务器,转发的过程是:建立和目标机器的连接,然后转发请求,收到响应数据在转发给请求客户端。
简单来说,就是四层收到客户端请求后,不解析请求内容,直接修改包内的IP和端口进行转发;而七层需要解析包内的数据,判断是否需要转发,再进行转发
四层的转发效率比七层的效率高的多,但是仅支持TCP/UDP协议,不支持http协议或者https协议
二.配置Nginx实现四层均衡
在nginx 1.90版本后,新增stream模块,用于Tcp代理和负载均衡
基于上篇文章部署