正向代理和反向代理

参考文档:

写在前头

  • 代理本质上是一个服务器,可以类比为一个中介。
  • 为了A访问到B,中间插入一个 C,C 就是代理。

正向代理

什么是正向代理(forward Proxy)

工作原理:如下图我们可以通过配置代理服务器来将我们的请求代为发送到目标服务器,再由代理服务器将目标服务器的响应转发回本地。

image|549x495

什么时候使用正向代理

应用:vpn,FQ上网

正向代理的特点

  • 访问本无法访问的服务器B
  • 隐藏访问者的行踪
  • 客户端访问授权

反向代理

什么是反向代理(reverse proxy)

工作原理:反向代理对外的表现都是透明的,客户不知道自己访问的是代理服务器,客户端也不需要任何配置就可以访问。当我们配置好代理服务器后,反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

image|549x495

什么时候使用反向代理

应用:安全、负载均衡方面的常用配置

反向代理的特点

  • 隐藏服务配置
  • 保证内网的安全,阻止 web 攻击
  • 可以设置负载均衡

两者区块

  • 正向代理中 ,proxy和client同属一个lan,对server透明。正向代理需要配置在client端;
  • 反向代理中,proxy和server同属一个lan,对client透明。 反向代理需要配置在proxy端;
  • 实际上proxy在两种代理中做的事都是代为请求和响应,不过从结构上看正好左右相反,故称为正反向代理。

 上一篇
nodejs性能调优--解决CPU占用过高问题 nodejs性能调优--解决CPU占用过高问题
简介Nodejs(服务端)的角度来看,JS本身的执行时间对服务的影响至关重要,如果执行时间从30ms降低到3ms,理论上QPS就能提升10倍,换句话说,以前要10台服务器才能扛住的流量现在1台服务器就能扛住,而且响应时间更短. QPS:每
2018-12-10
下一篇 
单线程为什么能支持高并发? 单线程为什么能支持高并发?
Nodejs是一个平台,构建在chrome的V8上(js语言解释器),采用事件驱动、非阻塞模型( c++库:libuv) 为什么单线程却能够支持高并发?先搞清楚概念单线程:主线程一个,底层工作线程多个。 异步:发出操作指令,然后就可以去
2018-11-16
  目录