1. 代理对象不同
正向代理:是客户端的代理,客户端通过代理服务器访问外部资源,隐藏客户端真实IP,服务端只知道代理服务器的IP。
客户端通过正向代理服务器访问目标服务器,目标服务器无法直接识别真实的客户端。
比如:访问Google,国内被屏蔽,配一个代理服务器 → 由代理服务器去请求Google → 返回给你。
反向代理是服务器端的代理,客户端访问代理服务器,代理服务器再将请求转发给后端真实服务器。
2. 配置位置不同
正向代理,代理的是客户端。
正向代理:需要在客户端进行配置,指定代理服务器的地址和端口。
反向代理,代理的是服务器。
反向代理:配置在服务器端,客户端无需任何特殊设置。
3. 应用场景不同
正向代理,常用于突破网络限制、访问被屏蔽的资源。
假设你位于一个网络环境受限的公司或学校,该网络阻止了直接访问 www.google.com
。
为了能够访问 Google,你需要在你的网络中部署一台 Nginx 服务器作为正向代理。
以及,提高访问速度(通过缓存)、隐藏客户端身份…等。
反向代理,常用于负载均衡,比如:Nginx…等等。
以及,提高网站性能、增强安全性(如隐藏真实服务器)、实现HTTPS加密…等。
4. 安全策略不同
正向代理,主要用于控制客户端的访问权限,可以记录用户的访问行为,实现上网行为管理。
反向代理,主要用于保护服务器,防止直接暴露在公网中,抵御各种网络攻击。