正向代理与反向代理
正向代理与反向代理
正向代理
正向代理是客户端知道服务器的地址,在发送请求的时候客户端需要知道目标服务器的信息,一般都是服务器的 ip 和端口,用户和服务器之间因为各种各样的原因无法直接通信,可以使用正向代理,用户发送请求到自己的代理服务器,代理服务器再把数据发送给目标服务器,比如我们用到的一些 fanxiang 软件,就是使用的正向代理。使用正向代理,客户端的 HTTP 请求可以转发到之前和客户端网络不通的服务器。
反向代理
反向代理是客户端不知道目标服务器的地址,用户发送请求到代理服务器,代理服务器发送请求到真正的服务器,比如客户端请求域名,域名后很多的服务器进行负载均衡,这就是反向代理。nginx 是可以实现反向代理的软件。
正向代理隐藏的是客户端的信息,反向代理隐藏的是服务器的信息。
反向代理对外都是透明的,用户不知道自己访问的是不是代理服务器。使用反向代理可以提高内部服务器的安全性,还能加快对内服务器的访问速度。
nginx 除了反向代理还有负载均衡的功能,用到的就是 nginx 的 upstream 指令,默认情况下按照轮询的方式进行负载分配,
总结
正向代理和反向代理是两种不同的代理,正向代理是客户端必须要知道服务器的地址信息,通过正向代理,客户端可以访问不能通信的服务器。反向代理是客户端不知道目标服务器的地址,用户发送请求给代理服务器,但是客户端不知道这是代理服务器,代理服务器下面有多个服务器进行负载均衡。
版权声明: 本文为 InfoQ 作者【周杰伦本人】的原创文章。
原文链接:【http://xie.infoq.cn/article/00031a0d3ae1399f81a941969】。文章转载请联系作者。
评论