在计算机网络中,反向代理是代理服务器的一种。服务器根据客户端的请求,从其关联的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在。
与前向代理不同,前向代理作为客户端的代理,将从互联网上获取的资源返回给一个或多个的客户端,服务端(如Web服务器)只知道代理的IP地址而不知道客户端的IP地址;而反向代理是作为服务器端(如Web服务器)的代理使用,而不是客户端。客户端借由前向代理可以间接访问很多不同互联网服务器(簇)的资源,而反向代理是供很多客户端都通过它间接访问不同后端服务器上的资源,而不需要知道这些后端服务器的存在,而以为所有资源都来自于这个反向代理服务器。
1 什么是代理
代理本质上是一个服务器,充当代理角色的服务器,被称为代理服务器。
代理在客户端和服务端之间,类似于中介。客户端将请求发送给代理,由代理将请求发送给服务端。服务端响应请求并返回资源给代理,由代理将资源返回给客户端。
2 正向代理与反向代理
代理可以分为正向代理和反向代理。两者的区别在于代理的对象不同。
正向代理,代理的对象是客户端,对客户端负责,隐藏了客户端的真实身份,服务端只知道正向代理服务器向它发来了请求,却不知道真正发送请求的客户端是谁。VPN就是常见的正向代理。举个例子,如果我们想要访问被限制的外国网站或者公司内网,我们可以使用VPN作为正向代理服务器,来替我们获取这些受限的资源。
反向代理,代理的对象是服务端,对服务端负责,隐藏了服务端的真实身份,客户端只知道反向代理服务器响应了它的请求,却不知道真正响应请求的服务端是谁。我们可以使用Nginx作为反向代理服务器,实现负载均衡、安全防护、限流等功能。另外,反向代理也是解决跨域的常用方案之一。
正向代理是一个位于客户端和目标服务器之间的代理服务器。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理服务器向目标服务器转交并且将获得的内容返回给客户端。
我想访问某歌,直接在浏览器输入某歌地址是访问不了的,原因大家都懂,只能otw(over the wall)。我在电脑上安装otw软件,再输入某歌地址,完美解决。
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。
我想访问某度,直接输入某度地址就可以了,不需安装otw软件,但是具体是哪台服务器给我返回的数据呢?我并不知道
反向代理是企业中经常用到的技术,很多是通过nginx实现的,以后会讲解nginx的配置
参考文章: https://www.jianshu.com/p/208c02c9dd1d
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)