欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

理解反向代理

程序员文章站 2022-05-27 08:03:37
...

反向代理

什么是反向代理?根据解释,当客服端访问反向代理服务器时,反向代理服务器就相当于真正的服务器一样返回内容。而实际上,反向代理服务器,不是真正的服务器,只是它分发了请求到真正的服务器,获取到对应的资源。对于客户端来说,真实的服务端实际上是被隐藏起来了。
这样说能懂,但是反向代理,反向是什么意思?我是有点蒙的,为了理解什么是反向代理我先了解了一下什么是正向代理

首先,正常的普通情况下,客户端直接知道服务端的ip地址等信息,访问服务端,这样的直连是没有代理的。

在客户端和服务端之间加一个服务器,称其为代理服务器。让他代理客户端,他就可以收集客户端的请求,代替客户端发送请求,发送给服务端,对于服务端来说,这个时候,客户端是隐藏起来的。因为发给服务端请求的是客户端的代理,而不是真实的客户端。所客户端的代理是需要客户端进行配置,这样才能指定使用那个代理服务器来发送请求。这是正向代理

让这个服务器往服务端挪一挪,去给服务端做代理。当他收到客户端的请求的时候,他可以根据内部的配置去把请求分配给内部的服务器,这个时候对于客户端来说,服务端是隐藏的,因为客户端请求的是服务端的代理,客户端并不知道真实的服务端是什么。而这个时候服务端的代理服务器是不需要客户端进行配置的,对于客户端是没有感知的。这是反向代理。

**
正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;而反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。
**

从上面的描述也能看得出来正向代理和反向代理最关键的两点区别:

  1. 是否指定目标服务器
  2. 客户端是否要做设置
    理解反向代理
    正向代理中,proxy和client同属一个LAN,对server透明; 反向代理中,proxy和server同属一个LAN,对client透明。 实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把前者那种代理方式叫做正向代理,后者叫做反向代理。

反向和正向

什么是正向什么是反向,是对什么而言的。实际上我看完文章后,是这么理解的。
作为一个客户端,比如用户你,插上网线,用的公司的内网,现在想要访问internet,外网,公司出于安全考虑,使用了一个正向代理服务器,你配置这个服务器,通过这个服务器就可以去访问外网,帮助你代理。这样你的感受可能还是不深,再讲个更贴近你的,比如你要访问google或者twitter,你是访问不了的,你是处于我们国家的墙里面,这是时候提供了一个途径,无论是什么形式吧,你现在连上了一台正向代理服务器,这台服务器,是可以访问google和twitter的,你把访问请求发给这台服务器,服务器返回给你对应的资源,所以,你*了。对于用户你而言,他是正向的帮助你上网。
反向,是对服务端而言的,做负载均衡之类的,有效果,但是对于用户->服务端,这个模式而言是反向的。这样感觉好理解正向和反向一点。


                                                   站在巨人的肩膀上看世界

参考文献 讲的非常,通俗易懂