博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反向代理(Apache Traffic Server 学习笔记 2)
阅读量:4162 次
发布时间:2019-05-26

本文共 1816 字,大约阅读时间需要 6 分钟。

一、反向代理的概念

 

    什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。典型的结构如下图所示:

Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)。实施反向代理(如上图所示),只要将Reverse Proxy Cache设备放置在一台或多台Web服务器前端即可。当互联网用户访问某个WEB服务器时,通过DNS服务器解析后的IP地址是Reverse Proxy Server的IP地址,而非原始Web服务器的IP地址,这时Reverse Proxy Server设备充当Web服务器,浏览器可以与它连接,无需再直接与Web服务器相连。因此,大量Web服务工作量被卸载到反向代理服务上。不但能够防止外部网主机直接和web服务器直接通信带来的安全隐患,而且能够很大程度上减轻web服务器的负担,提高访问速度。

 

二、反向代理和其它代理的比较

 

下面将对几种典型的代理服务作一个简单的比较。在网络上常见的代理服务器有三种:

1、标准的代理缓冲服务器

   一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。

2、透明代理缓冲服务器

   透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet服务器提供商)特别有用。

3、反向代理缓冲服务器

    反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB服务器的负载。

 

 

三.反向代理工作原理

 

    反向代理服务器位于本地WEB服务器和Internet之间,

    当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网页和图片等),而一些CGI脚本程序或者PHP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标记:

        Last-Modified: 告诉反向代理页面什么时间被修改

        Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
        Cache-Control: 告诉反向代理页面是否应该被缓冲
        Pragma: 告诉反向代理页面是否应该被缓冲.
    例如:在默认情况下,ASP页面返回"Cache-control: private.",所以ASP页面时不会在反向代理服务器缓存的。

转载地址:http://rtixi.baihongyu.com/

你可能感兴趣的文章
隧道构建之地形挖洞
查看>>
隧道构建之地形镶嵌
查看>>
大数据环境搭建之iportal接入iServer分布式分析服务
查看>>
大数据环境搭建之一键部署
查看>>
发现一款WebGIS组件化开发神器!一起来练手
查看>>
模型数据处理之删除重复点和重复面
查看>>
模型数据处理之实例化处理
查看>>
流数据的Web界面配置
查看>>
流数据接入之WebSocket
查看>>
iClient对接密度分析
查看>>
iClient对接点聚合分析
查看>>
制作地图的那些事(二)——制图之符号制作
查看>>
TIN处理之地形合并——SuperMap iDesktop
查看>>
TIN处理之地形裁剪——SuperMap iDesktop
查看>>
SuperMap iClient3D for WebGL教程(Entity)- PathGraphics
查看>>
SuperMap iClient3D for WebGL教程(Entity)- viewFrom偏移量属性
查看>>
SuperMap iClient3D for WebGL教程(Entity)- parent父实体属性
查看>>
三维分析之视频投放
查看>>
SuperMap iDesktop之栅格值怎么查
查看>>
SuperMap iClient3D for WebGL教程-orientation
查看>>