正向代理与方向代理

代理存在的需要

正常我们去访问另一台主机时,我们主动发起了连接,并开始了双方之间的通讯。另一台主机可能和你在同一个局域网中,也可能在海角天涯,区别只在于你们使用的是局域网还是互联网。但是并不是每一台主机我们都是可以与其建立连接的,最清晰的例子就是在CN我们访问不了国外的一些网站。造成这种现象的原因主要是我们的连接申请被中国墙拦截,早期中国墙貌似是通过DNS扰乱,当检测到你访问的是禁止访问的网站时,不给予你正确的DNS解析,从而让你无法得到网站的ip,从而无法访问。后来中国墙经历了一次升级后,规则更加精确,早期通过修改自己本地的DNS缓存来达到上外网的功能也就此无效。现在普遍的上外网的方式就是通过正向的代理,将自己的连接请求发向一台处于外网的一个主机上,由外网主机经过处理转发你的访问请求到外国网站,外国网站也通过这个外网主机来给你返回内容。简而言之,中间有一台主机充当了你的之间的中间人,这个与人类社会中代理一词的概念也很相近。除了访问外网,使用vpn访问学校、企业内网也是通过代理的方式。

正向代理

正向代理是将你客户端的请求进行代理转发,数据会先发送到你的代理服务器(VPN)的IP地址的代理端口上,由代理服务器进行处理。代理服务器将源地址和端口转换成代理服务器的IP地址和一个随机端口,将请求的内容发送给目的服务器,从而达到以代理服务器访问目的服务器的效果。目的服务器发送返回数据时,同样的代理服务器也会充当中间人的角色,将返回数据发送给你的客户端。代理服务器自身会不断更新和维护一个请求者和为其代理发数据使用端口的动态表,通过这个表格,代理服务器就可以准确的将目的服务器返回的数据准确的送回请求者的主机。

 

上图是我自己根据我自己理解画的,不敢保证完全正确。QAQ

反向代理 

我了解反向代理是通过Nginx的,由于工作中需要对Nginx有所了解,所以自己查阅了一些资料。反向代理在大中型公司中十分常见,因为公司都有着自己的内网环境。工作原理就是用反向代理服务器去代理服务器端,客户端的请求发送到反向代理服务器上,再由反向代理服务器向服务器端进行请求转发。

简而言之,正向是帮客户端进行代理,反向则是帮服务器端进行代理。正向代理帮助客户端访问一些本不可以访问的资源,实现远程办公等场景。而反向代理帮助服务器拥有者可以更加灵活的配置自己所管理的网站,隐藏自己真正提供WEB服务的服务器的地址,提供负载均衡等功能场景。

 

posted @ 2020-11-14 01:36  宁宁鸡a  阅读(116)  评论(0编辑  收藏  举报