关于HTTP反向代理的理解
正向代理(Forward Proxy)
正向代理通常直接称为代理(Proxy
),也就是日常情景下使用的各种BrupSuite、梯子
等的代理,需要我们手动进行配置。
代理的作用
- 便于安全审计:所有流量经过一台代理服务器,那么安全审计就容易得多
- 加速访问/节省带宽:代理服务器可以返回缓存好的内容,无需向外网发出请求,从而加快访问速度、节省带宽
- 保护个人信息:使用代理隐藏自己的真实IP地址
- 突破访问限制:有时自己的地址被禁止访问,可以连接白名单上的代理服务器来进行访问
反向代理((Reverse Proxy)
个人理解:类似于计算机网络中的NAT(网络地址转发)技术。用户并不知道自己被“反向代理”了,反向代理服务器(如Nginx
)接收到请求后,转发给Web服务器(如Apache
)进行处理。
为了方便阅读,此处开始用Nginx
来指代反向代理服务器
。
反向代理作用
- 负载均衡:访问压力大时,
Nginx
可以将请求分配给多个不同的Web服务器进行处理,而用户访问的地址仍然是相同的地址(即Nginx
服务器的地址) - 提高安全性:Web服务器对外不可见,此时
Nginx
相当于一个防火墙 - 节省IP资源:如上述对反向代理的个人理解所说,类似于NAT,能够节省IP资源
- 加速访问:
Nginx
同样可以缓存网页内容
总结
可以理解为:
- 正向代理是面向用户的代理
- 反向代理是面向服务器的代理,对用户透明(也就是说把服务器也当成用户,服务器在给用户返回请求时自己挂了一个代理)
参考
https://zhuanlan.zhihu.com/p/464965616
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yunsaijc's Blog!