一、正向代理
场景:当某个服务器,无法被客户端直接访问时。客户端通过配置代理服务器的代理间接访问目标服务器,目标服务器返回数据给代理服务器后,代理服务器再将数据返回客户端浏览器。
二、反向代理
浏览器访问目标网站时,访问到的是反向代理服务器(对服务器提供代理),由反向代理服务器选择原始服务器提供服务响应结果,再返回给客户端浏览器。
三、正向代理和反向代理对比
相同点
- 都起到了连接与保护的作用,正向代理和反向代理,都是处于客户端和服务器端之间。
- 所做的事情都是转发客户端的请求给服务器
- 都可以提高访问速度
不同点
- 服务的对象不同: 正向代理是客户端的代理,服务器端不知道真正的客户端是谁。反向代理是面向服务器的代理,用户不知道真正的服务器是谁。
- 架设位置不同: 正向代理架设在客户机和目标主机之间,反向代理服务器架设在服务器端
- 作用不同 正向代理主要用来解决访问限制问题,反向代理主要解决负载均衡和安全防护等问题
四、负载均衡
- 当⼀个请求到来的时候(结合上图),Nginx反向代理服务器根据请求去找到⼀个原始服务器来处理当前请求,那么这叫做反向代理。那么,如果⽬标服务器有多台(⽐如上图中的tomcat1,tomcat2,tomcat3…),找哪⼀个⽬标服务器来处理当前请求呢,这样⼀个寻找确定的过程就叫做负载均衡。
- ⽣活中也有很多这样的例⼦,⽐如,我们去银⾏,可以处理业务的窗⼝有多个,那么我们会被分配到哪个窗⼝呢到底,这样的⼀个过程就叫做负载均衡。负载均衡就是为了解决单独一个服务器性能无法应对⾼负载的问题