背景
当我在学习负载均衡相关的内容时,了解到负载均衡可以由软件负载均衡服务器实现,典型的是Nginx,Nginx是什么呢? Nginx是高性能的HTTP和反向代理服务器。提问:为什么叫反向代理服务器?那正向代理服务器是什么?他们的区别是什么?
正向代理服务器
一句话说明:正向代理是指客户端的代理,帮助客户端访问受限资源和隐藏客户端的身份。
正向代理服务器处于客户端和服务器之间,客户端将请求发给正向代理服务器,然后正向代理服务器代替客户端向服务器发送请求。所以客户端需要主动配置代理服务器才能使用。
功能
隐藏真实请求者的身份。服务器只能看到正向代理服务器的IP,它不知道真正对它发起请求的客户端是谁
突破访问限制。可以通过正向代理服务器访问被封锁的资源(公司内网访问外网,跨境访问),非常典型的例子是国内访问github网页

反向代理服务器
一句话:方向代理服务器代理的是服务端,隐藏服务端集群的具体信息
反向代理服务器是服务端的代理,代表服务器接收客户端的请求,并将请求转发到内部的服务器中。客户端感知不到代理的存在,代理服务器收到客户端的请求后会记录客户端的登录状态,客户端在发出多次请求时,若请求不是发给同一个内部服务器,也不需要每请求一次就完成一个登录校验。典型的例子:淘宝有很多服务器,但是我们只要登录一次淘宝就可以一直买买买啦
功能
- 隐藏后端服务器。保护内部服务器的IP和架构,增加安全性
- 负载均衡。将客户端的请求按照负载均衡算法分发到后端不同的服务器中

总结
| 正向代理 | 反向代理 | |
|---|---|---|
| 代理对象 | 客户端 | 服务端 |
| 客户端感知 | 客户端配置代理 | 客户端感知不到 |
| 隐藏对象 | 隐藏客户端 | 隐藏服务端的IP和架构 |
| 功能 | 突破访问限制 | 负载均衡、安全保护 |