在说反向代理之前我们先来了解一下什么是正向代理。
正向代理指
有明确目标的请求是从客户端发出的,客户端发起的请求知道明确的目的地,但因为访问不到需要借助代理服务器访问其需要访问的目标。正向代理是代理的客户端。
正向代理的适用场景:
1)访问被禁止的资源
让客户端通过代理服务器访问原本不能访问的服务器。如果客户端的IP被服务器封禁,可以绕过封禁。
2)隐藏客户端的地址
目标服务器认为是代理服务器在访问他,所以在服务器和网络拓扑上看不到客户端。
3)进行客户访问控制
可以集中部署策略控制客户端的访问行为,记录用户的访问记。
4)过滤内容 可以通过代理服务器统一过滤一些危险的指令,统一加密,防御代理服务器两端的一些攻击。
方向代理
有明确目标的请求是从服务器发出的。客户端并不知道自己的请求真实的会发送到那台服务器。而服务器是知道谁发给他的请求。反向代理被代理的是服务器。
反向代理适用的场景
1)负载均衡
在部署位置上,反向代理服务器处于web服务器前面,这个位置正好是负载均衡服务器的位置,所以大多数反向代理服务器同时提供负载均衡的功能,管理一组web服务器,将请求根据负载均衡算法转发到不同的web服务器上。web服务器处理完成后的响应也需要通过反向代理服务器返回给用户。
保障匿名性和安全性
2)保障匿名性和安全性
反向代理会拦截所有传入请求,所以能够为后端服务器带来更高层级的保护。它可以阻止来自特定 IP 地址的可疑流量,从而有助于防止恶意访问者滥用网页服务器。
可以将流量重定向至其它在线服务器,以确保网页正常运行。
3)缓存数据
代理服务器可以通过配置缓存功能加速web请求,当用户第一次访问静态内容时,就被缓存在反向代理服务器上,当其他用户访问该内容时,就可以直接从反向代理服务器返回,加速web的请求速度,减轻web服务器的负载压力。
正向代理和反向代理的区别
正向代理是代理客户端,隐藏真实的客户端 客户与代理服务器属于一个局域网。
反向代理是代理的服务器,隐藏真实的服务器,服务器和代理服务器属于一个局域网。