正向代理和反向代理的总结

最近看到反向代理这个名词,然后在百度上查到了一些资料,下面就是一个大牛的经典总结.

正向代理?

要想知道反向代理,咱们先来聊一下正向代理.

正向代理类似于一个跳板机,代理访问外部资源.

举个简单的例子:

  我在客户端(浏览器)想访问一个网站,但是我直接访问不了,只能通过代理服务器访问.这个代理服务器可以直接访问到这个网站.于是,我就直接连上这个代理服务器,告诉他我需要这个无法访问的网站的内容,然后他帮我拿到,然后再给我.从网站的角度讲,只是代理服务器来取内容,而我没有去拿.如果代理服务器不告诉这个服务器的话,服务器根本不知道关于我的存在,

用一个简单的例子再讲解一下:

  有一个封闭式的工厂,这家公司有个专门的人A来负责招人.我要是想知道这个公司还招人不招,只能通过A来知道这个消息,我就会问A:"公司是不是招人",A然后去问这家公司"你们这里招人不?",公司说:"招人",然后A再告诉我,"你要是来的话这里,这里还招人,"A可以告诉这家公司说"有人正在找工作,"也可以直接走人,把消息带回来.告诉我.

 

客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口.

  例如之前使用过的这列软件例如CCPROXY,http://www.ccproxy.com/ 需要在浏览器中配置代理的地址。

总结:正向代理就是 一个位于客户端和原始服务器(Origin Server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端必须要进行一些特别的设置才能使用正向代理.

正向代理的用途:

  1.访问原来无法访问的资源

  2.可以做缓存,加速访问资源

  3.对客户端访问授权,上网进行认证.

  4.代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息.

CCproxy可以完成两项大的功能:代理共享上网和客户端代理权限管理.

  只要局域网内有一台机器能够上网,其他机器就可以通过这台机器上安装的CCProxy来共享上网,最大程度上的减少了硬件费用和上网费用.只需要在服务器上CCProxy里进行账号设置,就可以方便的管理客户端代理上网的权限,在提高员工工作效率和企业信息安全管理方面,CCProxy充当了重要角色.

反向代理:

  除此接触反向代理的感觉就是:客户端是不知道代理的存在的,

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器:

反向代理的作用:

  1.保证他代理的服务器的安全,可以使用反向代理提供WAF功能(Web应用防护系统),阻止web攻击.

  大型网站,通常将反向代理作为公网访问地址,Web服务器是内网.

  2,负载均衡.通过反向代理服务器来优化网站的负载.

 

二者的区别:

 

正向代理中,proxy和client同属于一个LIN,对server透明

反向代理中,proxy和server同属一个LIN,对client透明.

实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把后出现的那种代理方式叫做反向代理.

nginx的反向代理

  nginx支持配置反向代理,通过反向代理实现网站的负载均衡,这部分先写一个nginx的配置,后续需要深入研究nginx的代理模块和负载均衡模块.

  nginx通过proxy_pass_http配置代理站点,upstream实现负载均衡.

 

posted @ 2019-05-30 20:34  King-DA  阅读(440)  评论(0编辑  收藏  举报