不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2013-05-15 11:07:32  修改时间:2024-05-19 17:27:11  分类:编程基础/Web安全  编辑

今天一朋友问了这个问题。

讲了半天,不明白。当时就举了个例子:我们公司内部域中的所有电脑要上外部网络,是都要走过一个电脑的,他能控制我们不能乱上一些网站,从而使我们上班时不能上一些娱乐,视频网站什么的,这个服务器是普通代理,也就是正向代理。(著名的GFW!!!)

客户端要访问我们的公司的网站,所有请求都要过我们放在最前端的一台机器,然后由他决定真正要处理这个请求的服务器,通常说的负载均横很类似这玩意,这是反向代理。

为了让他明白我又说,其实代理本身是不分正反的。代理就是你请一台电脑去帮你做事。然后,然后就悲剧了。他问道:那为啥会出现这两个东西了?他怎么出来的了?

我:。。。

于是google!

简单的说从一个局域网出来到服务端为正向,从客户端要进入一个局域网为反向。

概念

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

概述:

通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。

反向代理方式和包过滤方式或普通代理方式并无冲突,因此可以在防火墙设备中同时使用这两种方式,其中反向代理用于外部网络访问内部网络时使用,正向代理或包过滤方式用于拒绝其他外部访问方式并提供内部网络对外部网络的访问能力。因此可以结合这些方式提供最佳的安全访问方式。

为何叫反向:

但是这也没法解释为何他叫反向,从原理上来说.代理服务器都是处理来自客户端的请求,并将其转发到目的服务器上,所以代理服务器的工作并没有任何反向的意味,而下面这张图就能说明为何反向代理叫反向。

对了,从结构上来看,正向代理和反向代理的左右两边换了一下,原本代理服务器的客户端来自内网.其和代理服务器组成一个LAN,而反向代理之后.代理服务器和服务器组成了一组.所以从结构来看,是reverse的,从英文的角度来看,reverse这个词包含翻转的意思,其意思就是指结构图上的这种反转,但是由于翻译的关系.到了中文变成反向代理.其实proxy并没有做和以前有什么不同的事情。它仍旧是将来自客户端的请求转发给实际端。而时至今日,由于CDN的大量使用,反向代理后面的服务器为了适应这种跨网络的架构,而均采用实际IP地址。这样就往往更不容易使得大家对”反向代理这个名词中的反向到底指什么”这个问题有个清晰的答案了。