[发明专利]对反向代理软件进行测试的方法及系统在审
申请号: | 201310428726.0 | 申请日: | 2013-09-18 |
公开(公告)号: | CN104468655A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 闵庆欢;陈睿 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/26;G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 反向 代理 软件 进行 测试 方法 系统 | ||
技术领域
本申请涉及反向代理软件测试技术领域,特别是涉及对反向代理软件进行测试的方法及系统。
背景技术
反向代理(Reverse Proxy)方式是指以代理服务器来接收Internet上的连接请求消息,然后将请求消息转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求消息连接的客户端。参见图1,反向代理位于Internet用户与原始web服务器之间,它负责接收和处理所有对原始web服务器的请求消息。如果Internet用户请求消息的页面在代理服务器上有缓存,代理服务器直接将缓存内容发送给用户;如果没有缓存,则先向原始web服务器发出请求消息,从原始web服务器取回数据并在本地缓存后再发送给用户。此时,代理服务器对外就表现为一个服务器。这种方式通过降低向web服务器的请求消息数,降低了web服务器的负载。
具体实现时,一般需要安装反向代理软件来实现反向代理服务器的上述功能。目前业界以及各大公司在使用的反向代理软件有多种,反向代理软件在实现对客户端请求消息报文、原始服务器端的响应消息报文进行转发的过程中,还可能会涉及到对请求消息报文或者响应消息报文的变更,当然,这种变更前提是,变更后的内容符合用户的预期。也就是说,假设反向代理软件对某报文中的某个字段的值进行了修改,则修改后的值应该符合HTTP(Hypertext transfer protocol,超文本传输协议)协议中对该字段的值的规定。
但是随着业务种类、访问流量的不断的上升,CDN(Content Delivery Network,内容分发网络)线上所暴露的HTTP请求消息处理异常情况也呈现多样化复杂化,软件开发人员在开发反向代理软件的过程中,需要确定某些特定请求消息下反向代理软件到底执行何种动作才是符合协议规定的,而不是把仅仅能够满足业务需求作为目标。因此,需要开发出一套对反向代理软件的协议一致性进行测试的工具,以期既能够堵住协议标准支持方面存在的漏洞,把问题提前暴露于线下,又可以评估出不同产品不同版本间对HTTP/1.1标准协议支持程度,方便做纵向、横向对比。
参见图2,现有技术中提供的测试工具的具体原理如下:
首先,采用某种HTTP请求消息模拟工具(例如linux上Curl工具),用以模拟Internet上的用户行为,部署在测试机器1上;机器2上部署被测反向代理软件;机器3上部署常用HTTP Server软件,例如lighthttp、apache等,用以模拟原始Web服务器;并进行配置,使得机器1上HTTP模拟工具发出的请求消息,能够通过被测反向代理从HTTP Server上正确获得所请求消息的内容数据,HTTP Server能够接收和响应消息来自被测反向代理转发的请求消息。之后就可以进入具体的测试流程:
步骤一:手工填充HTTP模拟发送工具所需要的参数,发送请求消息报文至反向代理;
步骤二:反向代理根据报文内容将请求消息转发至HTTP Server软件;
步骤三:HTTP Server软件根据自身HTTP/1.1协议实现方案,回复响应消息报文至反向代理;
步骤四:在机器1处HTTP请求消息发送端,借助某些工具,人工查看返回的报文内容是否符合预期;同时登陆机器2,执行反向代理的内置命令,查看反向代理的当前状态和缓存行为是否符合预期。
上述测试方法中,通过最后人工查看报文内容等是否符合预期,可以判断出上述流程中是否存在问题,但是,其缺陷在于:无法确定问题是出现在反向代理软件一端,还是HTTP Server一端,或者是整个流程中的其他环节,因此,测试结果的有效性有待提高。
发明内容
本申请提供了对反向代理软件进行测试的方法及系统,能够获得更有效的测试结果。
本申请提供了如下方案:
一种对反向代理软件进行测试的方法,其特征在于,包括:
接收到案例场景可执行文件后,按照所述案例场景可执行文件启动测试;
当客户端节点向反向代理节点发送第一请求消息、反向代理节点向服务器节点发送携带有所述第一请求消息的报文内容的第二请求消息时,按照所述案例场景可执行文件,驱动所述服务器节点通过预先在客户端节点与服务器节点之间建立的消息通道,向所述客户端节点获取所述第一请求消息的原始报文内容;其中,所述反向代理节点中部署有被测反向代理软件;
获取所述第二请求消息中携带的第一请求消息的报文内容相对于所述第一请求消息的原始报文内容发生的第一变更信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310428726.0/2.html,转载请声明来源钻瓜专利网。