正向代理与反向代理
1. 正向代理
正向代理相当于在客户端与服务器之间加入一个中间处理机器,此机器的功能为:
a. 客户端不再直接访问服务器,而是直接访问代理服务器(需要配置代理服务器地址及端口),代理服务器负责接收请求;
b. 代理服务器将来自客户端的请求转发给服务器,并接受来自服务器的响应,返回给客户端;
c. 在客户端请求与服务器返回过程做一些处理
正向代理的用途:
(1)访问原来无法访问的资源
(2) 可以做缓存,加速访问资源
(3)对客户端访问授权,上网进行认证
(4)代理可以记录用户访问记录,对外隐藏用户信息
2. 反向代理
反向代理也在客户端和服务器之间提供代理服务
反向代理中,客户端并不知道自己访问的是代理,代理服务器与真正的服务器在同一个LAN,为真正的服务器提供一些服务:
a. 保证内网安全,防止web攻击
b. 负载均衡,代理服务器将客户端请求均衡分发给服务器
3. 正向代理与反向代理区别
a. 正向代理代理服务器和客户端一家(一个LAN内),为客户端提供服务;反向代理代理服务器和web服务器一家(一个LAN内),为web服务器提供服务
b. 正向代理客户端知道自己访问的代理服务器信息,并需要配置地址和端口;反向代理客户端不知道代理服务器的存在
借用知乎两张图来表达:https://www.zhihu.com/question/24723688
4. nginx支持反向代理
Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。
博客内容属个人理解和总结,如有错误,欢迎批评指正。