什么是正向代理?
正向代理(forward proxy) ,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标(原始服务器),然后代理向原始服务器转发请求并将获得的内容返回给客户端,客户端才能使用正向代理。我们平时说的代理就是指正向代理。
上图解释:客户端向目标服务器发送请求,由于目标服务器被墙了,这个时候可以通过不受限制的(中间服务器)代理服务器去转发客户端的请求,然后拿到目标服务器的数据返回给客户端。
什么是反向代理?
反向代理(Reverse Proxy),以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求的客户端,此时代理服务器对外表现为一个反向代理服务器。
上图解释:客户端向服务器发起请求,实际上是请求的服务器端的代理服务器,代理服务器把请求转发给目标服务器,拿到数据,再返回给客户端。(描述起来感觉差不多对吧,我也感觉差不多,那么看下二者区别吧)
正向代理和反向代理的区别?
-
用途不同
正向代理,为在防火墙内的局域网客户端提供访问Internet的途径(VPS就是这个原理);
反向代理,将防火墙后面的服务器提供给Internet访问(美团外卖服务为每个商家提供外卖服务); -
安全性不同
正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务;
反向代理都对外都是透明的,访问者并不知道自己访问的是哪一个代理。 -
位置不同
正向代理,架设在客户机和目标主机之间;
反向代理,架设在服务器端; -
代理对象不同
正向代理,代理客户端,服务端不知道实际发起请求的客户端;
反向代理,代理服务端,客户端不知道实际提供服务的服务端;
代理服务器的作用?
正向代理的应用:
1. 访问原来无法访问的资源
2. 用作缓存,加速访问速度
3. 对客户端访问授权,上网进行认证
4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
反向代理的应用:
1. 保护内网安全
2. 负载均衡
3. 缓存,减少服务器的压力。Nginx作为最近较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后台的服务器,决定哪台目标主机来处理当前请求。