CN105959179A - 一种反向代理nginx测试系统及方法 - Google Patents
一种反向代理nginx测试系统及方法 Download PDFInfo
- Publication number
- CN105959179A CN105959179A CN201610403938.7A CN201610403938A CN105959179A CN 105959179 A CN105959179 A CN 105959179A CN 201610403938 A CN201610403938 A CN 201610403938A CN 105959179 A CN105959179 A CN 105959179A
- Authority
- CN
- China
- Prior art keywords
- server
- reverse proxy
- http request
- nginx
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种反向代理nginx测试系统及方法,该系统包括:测试执行器,向反向代理nginx服务器、kv存储服务器、Http服务器分别发送Http请求;kv存储服务器确定所述Http请求对应的后端节点;反向代理nginx服务器从所述kv存储服务器中获取所述Http请求对应的后端节点,向Http服务器发送Http请求,获取测试结果反馈给测试执行器;Http服务器,接收反向代理nginx服务器发送的Http请求,反馈测试结果给反向代理nginx服务器;并接收测试执行器直接发送的Http请求,反馈直接结果给该测试执行器;测试执行器,还用于对比测试结果和直接结果。本技术能够减少反向代理服务器及模块测试的前期准备以及后期维护的复杂度,同时解除测试执行端与被测反向代理服务器部署在同一实体机上的限制。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种反向代理nginx测试系统及方法。
背景技术
反向代理:反向代理是指用反向代理服务器来接收internet(互联网)上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端。
反向代理测试:限定于常用的反向代理nginx(是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行)的测试。反向代理的测试需要不同的被代理节点返回不同的信息,依据返回不同的结果来进行验证代理功能是否正常。通常的操作为修改代理服务器的配置文件指定代理节点,启动代理服务,发送请求,请求由代理服务器转发至相应后端,响应返回,结果验证,本次测试执行结束关闭服务器。为了方便修改配置文件,其部署方式通常是测试执行器与反向代理服务器部署到同一台实体机上,而网络上真实环境则是分属于不同实体机上,目前条件无法做到。同部署在一台实体机上的一次case(事件)执行的测试执行器基本操作流程为:修改配置文件-启动代理服务-发送请求-验证响应结果-停止服务。
Httpserver(Http服务器):根据指定要求能够返回指定结果或响应的一系列Http(HyperText Transfer Protocol,超文本传输协议)服务器。测试过程中,对于Httpserver的安排有两种:
1.Httpserver同反向代理nginx同一台物理机部署,节省资源,但服务部署混乱。
2.Httpserver同反向代理nginx分别部署在不同的物理机上,服务分离,多数采用此方法部署。
这两种方法都可用于反向代理不同功能的测试,由于反向代理服务与反向代理后端节点多数采用分开部署的方式,第2种方法,更能模拟真实使用情况。
测试执行器:根据被测反向代理组织的一系列操作集合,本文统称测试执行器。测试过程中,对于测试执行器和被测反向代理nginx的部署方式有两种:
1.同物理机部署,便于操作,将配置文件的反向代理节点设定好,通过测试执行器操作反向代理nginx配置变更切换代理后端节点。
2.不同物理机部署,在不借用外来服务条件下无法实现被测反向代理的配置变更。
因此,多数被测反向代理与测试执行器的部署方式多为同物理机部署。
现有技术反向代理nginx测试方法的缺点有:
缺点一:虽然都可以通过Http协议请求nginx,根据实际结果与预期结果进行对比验证模块的正确性,但是其后端节点存在的多样性,需根据不同服务测试不同功能,此时需要频繁变更配置文件来满足此项要求;
缺点二:根据功能进行代理节点切换时需提前准备变更的配置文件,此时的自动化用例需要维护大量的配置文件,测试维护代价较高。
缺点三:目前测试反向代理时的部署方式为测试执行器需与被测代理部署在同一台机器,无法实现异地部署,不能够更好的模拟线上真实环境。
综上可见,如何解决反向代理测试过程中的配置文件量大而复杂的技术问题,这是本领域的技术人员亟待解决的一个技术难题。
发明内容
本发明实施例提供一种反向代理nginx测试系统及方法,以解决测试过程中切换反向代理节点时造成的配置文件频繁变更导致nginx服务频繁重启问题,以及因此产生的大量配置文件维护繁重的问题,同时还可解决测试过程中对测试执行器与被测反向代理部署在同一台实体机的限制问题。
一方面,本发明实施例提供了一种反向代理nginx测试系统组成结构示意图,所述系统包括:测试执行器、反向代理nginx服务器、kv存储服务器、Http服务器,其中:
测试执行器,用于向反向代理nginx服务器、kv存储服务器、Http服务器分别发送Http请求;
kv存储服务器,用于根据从测试执行器接收到的Http请求,确定所述Http请求对应的后端节点;
反向代理nginx服务器,用于从所述kv存储服务器中获取所述Http请求对应的后端节点,根据从测试执行器接收到的Http请求、以及获取到的所述Http请求对应的后端节点,向Http服务器发送Http请求,获取测试结果反馈给测试执行器;
Http服务器,用于接收反向代理nginx服务器发送的Http请求,反馈测试结果给反向代理nginx服务器;并接收测试执行器直接发送的Http请求,反馈直接结果给该测试执行器;
测试执行器,还用于对比所述测试结果和所述直接结果,进行反向代理nginx测试验证。
另一方面,本发明实施例提供了一种反向代理nginx测试方法,所述方法应用的反向代理nginx测试系统包括:测试执行器、反向代理nginx服务器、kv存储服务器、Http服务器,所述方法包括:
通过测试执行器向反向代理nginx服务器、kv存储服务器、Http服务器分别发送Http请求;
利用kv存储服务器,根据从测试执行器接收到的Http请求,确定所述Http请求对应的后端节点;
利用反向代理nginx服务器,从所述kv存储服务器中获取所述Http请求对应的后端节点,根据从测试执行器接收到的Http请求、以及获取到的所述Http请求对应的后端节点,向Http服务器发送Http请求,获取测试结果反馈给测试执行器;
利用Http服务器接收反向代理nginx服务器发送的Http请求,反馈测试结果给反向代理nginx服务器;并接收测试执行器直接发送的Http请求,反馈直接结果给该测试执行器;
利用测试执行器对比所述测试结果和所述直接结果,进行反向代理nginx测试验证。
上述技术方案具有如下有益效果:使用kv存储服务器、被测反向代理nginx服务器、nginx-upsync-module模块以及Httpserver构建反向代理nignx服务器测试的新方法及系统,kv存储服务器存储反向代理的后端节点信息,nginx-upsync-module模块用于更新反向代理服务器的后端节点、Httpserver用于模拟一系列Http协议的webserver。本技术能够减少反向代理服务器及模块测试的前期准备以及后期维护的复杂度,同时解除测试执行端与被测反向代理服务器部署在同一实体机上的限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种反向代理nginx测试系统组成结构示意图;
图2为本发明实施例一种反向代理nginx测试方法流程图;
图3为本发明应用实例反向代理nginx测试方法示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例一种反向代理nginx测试系统组成结构示意图,所述系统包括:测试执行器11、反向代理nginx服务器12、kv(key-value,键值)存储服务器13、Http服务器14,其中:
测试执行器11,用于向反向代理nginx服务器12、kv存储服务器13、Http服务器14分别发送Http请求;
kv存储服务器13,用于根据从测试执行器11接收到的Http请求,确定所述Http请求对应的后端节点;
反向代理nginx服务器12,用于从所述kv存储服务器13中获取所述Http请求对应的后端节点,根据从测试执行器接收到的Http请求、以及获取到的所述Http请求对应的后端节点,向Http服务器14发送Http请求,获取测试结果反馈给测试执行器11;
Http服务器14,用于接收反向代理nginx服务器12发送的Http请求,反馈测试结果给反向代理nginx服务器12;并接收测试执行器11直接发送的Http请求,反馈直接结果给该测试执行器11;
测试执行器11,还用于对比所述测试结果和所述直接结果,进行反向代理nginx测试验证。
优选地,所述Http请求对应的后端节点为可调用的应用程序编程接口API。
优选地,所述反向代理nginx服务器12,具体用于根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块从所述kv存储服务器中获取所述Http请求对应的后端节点。
优选地,所述反向代理nginx服务器12,进一步具体用于根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块定期查询所述kv存储服务器中所述Http请求对应的后端节点是否变更,若所述Http请求对应的后端节点有变更,则从所述kv存储服务器中获取所述Http请求对应的最新的后端节点。
优选地,所述反向代理nginx服务器12,具体用于根据所述Http请求对应的后端节点,通过哈希hash策略向Http服务器发送Http请求,获取测试结果反馈给测试执行器。
对应于上述系统所述实施例,如图2所示,为本发明实施例一种反向代理nginx测试方法流程图,所述方法应用的反向代理nginx测试系统包括:测试执行器、反向代理nginx服务器、kv存储服务器、Http服务器,所述方法包括:
201、通过测试执行器向反向代理nginx服务器、kv存储服务器、Http服务器分别发送Http请求;
202、利用kv存储服务器,根据从测试执行器接收到的Http请求,确定所述Http请求对应的后端节点;
203、利用反向代理nginx服务器,从所述kv存储服务器中获取所述Http请求对应的后端节点,根据从测试执行器接收到的Http请求、以及获取到的所述Http请求对应的后端节点,向Http服务器发送Http请求,获取测试结果反馈给测试执行器;
204、利用Http服务器接收反向代理nginx服务器发送的Http请求,反馈测试结果给反向代理nginx服务器;并接收测试执行器直接发送的Http请求,反馈直接结果给该测试执行器;
205、利用测试执行器对比所述测试结果和所述直接结果,进行反向代理nginx测试验证。
优选地,所述Http请求对应的后端节点为可调用的应用程序编程接口API。
优选地,利用反向代理nginx服务器,根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块从所述kv存储服务器中获取所述Http请求对应的后端节点。
优选地,利用反向代理nginx服务器,根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块定期查询所述kv存储服务器中所述Http请求对应的后端节点是否变更,若所述Http请求对应的后端节点有变更,则从所述kv存储服务器中获取所述Http请求对应的最新的后端节点。
优选地,利用反向代理nginx服务器根据所述Http请求对应的后端节点,通过哈希hash策略向Http服务器发送Http请求,获取测试结果反馈给测试执行器。
上述技术方案具有如下有益效果:使用kv存储服务器、被测反向代理nginx服务器、nginx-upsync-module模块以及Httpserver构建反向代理nignx服务器测试的新方法及系统,kv存储服务器存储反向代理的后端节点信息,nginx-upsync-module模块用于更新反向代理服务器的后端节点、Httpserver用于模拟一系列Http协议的webserver。本技术能够减少反向代理服务器及模块测试的前期准备以及后期维护的复杂度,同时解除测试执行端与被测反向代理服务器部署在同一实体机上的限制。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例动态变更反向代理节点功能:针对反向代理nginx功能模块,目前有微博开发的nginx-upsync-module模块,可同kv(键值)存储服务器进行交互拉取最新配置文件并更新反向代理后端节点信息。该模块作为nginx开发的模块,使用-add-module进行添加编译,协同kv存储服务器与nginx交互动态变更nginx的反向代理节点。
kv存储服务器:支持key-value(键值)对存储的服务,同时提供完整的API(ApplicationProgramming Interface,应用程序编程接口)可供调用,如consul、etcd等服务。
测试执行器:根据被测功能进行录入,其可能执行的操作有,更改配置文件、启动反向代理服务、发送请求、请求验证,关闭反向代理服务等。
本发明应用实例在解决测试过程中切换反向代理节点时造成的配置文件频繁变更导致nginx服务频繁重启问题、以及因此产生的大量配置文件维护繁重的问题,同时还可解决测试过程中对测试执行器与被测反向代理nginx服务器部署在同一台实体机的限制问题。
本发明应用实例包含:测试执行器、kv存储服务器(etcd、consul等)、反向代理nginx服务器、nginx-upsync-module模块、Httpserver:
kv存储服务器:kv存数服务器(如consul、etcd等)提供可调用的API,可用于对节点的增删改查操作,如下图所示,本文以consul为例进行说明,可使用consul的API接口对后端节点进行操作,存储依据反向代理的节点作为key,如upstream/test/127.0.0.1:1234,value为该节点的属性等信息,如权重,失败次数等。通过其API可实时对各反向代理节点进行增删改查操作。
反向代理nginx服务器及模块使用原理:通过使用-add-module=nginx-upsync-module将动态模块添加到本次编译的nginx服务器内部,该模块定期同kv存储服务器(consul)进行交互来确定当前反向代理业务下是否有节点变动,若节点有更新,则将变动信息同步到反向代理nginx后端,进行实时更新。当有请求访问nginx时,nginx根据url反向代理至相关节点,再根据hash(哈希)策略转发至指定Httpserver端。
Httpserver:即返回指定内容的一系列Hhttpserver,通常可根据反向代理功能准备不同Httpserver,通过其返回结果查看内容是否一致,也可通过Httpserver模拟网络延迟等操作。
nginx-upsync-module作为反向代理nginx服务器的nginx模块,可向kv存储服务器发送请求并验证key是否变更功能。如图3所示,为本发明应用实例反向代理nginx测试方法示意图,内置有nginx-upsync-module模块的反向代理nginx服务器,根据所述Http请求,利用nginx-upsync-module模块定期查询所述kv存储服务器中所述Http请求对应的后端节点是否变更,若所述Http请求对应的后端节点有变更,则从所述kv存储服务器中获取对应key的value,即获取所述Http请求对应的最新的后端节点;若未变更,则周期性询问kv存储服务器。
举例说明:
现对某一个反向代理业务可能返回的不同结果以及不同结果的组合进行测试,该业务连接超时、响应超时、返回乱码、返回空、返回正确的结果、返回失败的结果等。通过API接口,将指定功能的Httpserver添加到kv存储服务器,如将返回乱码结果的Httpserver添加到kv存储服务器。通过反向代理nginx服务器发送Http请求到Httpserver获取测试结果。另外,直接发送Http请求到Httpserver获取直接结果。最后,将测试结果与直接结果进行对比验证。
与最接近的现有技术相比:现有技术测试中,假设可能出现的结果为n,通过n条结果可能产生的不同组合为2n-1,那么就需要准备以上组合数量的配置文件,测试前期准备复杂,测试维护繁重。而本发明应用实例还可解决测试环部署方式的限制,原有部署方式为测试执行端与被测反向代理服务器部署在同一实体机上,本方法打破此限制,可随意部署。本技术使用kv存储服务器、被测反向代理nginx服务器、nginx-upsync-module模块以及Httpserver构建反向代理nignx服务器测试的新方法及系统,kv存储服务器存储反向代理节点信息,nginx-upsync-module用于更新反向代理服务器的节点、Httpserver用于模拟一系列Http协议的webserver。本技术能够减少反向代理服务器及模块测试的前期准备以及后期维护的复杂度,同时解除测试执行端与被测反向代理服务器部署在同一实体机上的限制。根据以上操作可在一份配置文件的基础上随意组合测试条件,不需要重启nginx。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrativelogical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrativecomponents),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种反向代理nginx测试系统,其特征在于,所述系统包括:测试执行器、反向代理nginx服务器、kv存储服务器、Http服务器,其中:
测试执行器,用于向反向代理nginx服务器、kv存储服务器、Http服务器分别发送Http请求;
kv存储服务器,用于根据从测试执行器接收到的Http请求,确定所述Http请求对应的后端节点;
反向代理nginx服务器,用于从所述kv存储服务器中获取所述Http请求对应的后端节点,根据从测试执行器接收到的Http请求、以及获取到的所述Http请求对应的后端节点,向Http服务器发送Http请求,获取测试结果反馈给测试执行器;
Http服务器,用于接收反向代理nginx服务器发送的Http请求,反馈测试结果给反向代理nginx服务器;并接收测试执行器直接发送的Http请求,反馈直接结果给该测试执行器;
测试执行器,还用于对比所述测试结果和所述直接结果,进行反向代理nginx测试验证。
2.如权利要求1所述反向代理nginx测试系统,其特征在于,所述Http请求对应的后端节点为可调用的应用程序编程接口API。
3.如权利要求1所述反向代理nginx测试系统,其特征在于,所述反向代理nginx服务器,具体用于根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块从所述kv存储服务器中获取所述Http请求对应的后端节点。
4.如权利要求3所述反向代理nginx测试系统,其特征在于,所述反向代理nginx服务器,进一步具体用于根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块定期查询所述kv存储服务器中所述Http请求对应的后端节点是否变更,若所述Http请求对应的后端节点有变更,则从所述kv存储服务器中获取所述Http请求对应的最新的后端节点。
5.如权利要求1所述反向代理nginx测试系统,其特征在于,所述反向代理nginx服务器,具体用于根据所述Http请求对应的后端节点,通过哈希hash策略向Http服务器发送Http请求,获取测试结果反馈给测试执行器。
6.一种反向代理nginx测试方法,其特征在于,所述方法应用的反向代理nginx测试系统包括:测试执行器、反向代理nginx服务器、kv存储服务器、Http服务器,所述方法包括:
通过测试执行器向反向代理nginx服务器、kv存储服务器、Http服务器分别发送Http请求;
利用kv存储服务器,根据从测试执行器接收到的Http请求,确定所述Http请求对应的后端节点;
利用反向代理nginx服务器,从所述kv存储服务器中获取所述Http请求对应的后端节点,根据从测试执行器接收到的Http请求、以及获取到的所述Http请求对应的后端节点,向Http服务器发送Http请求,获取测试结果反馈给测试执行器;
利用Http服务器接收反向代理nginx服务器发送的Http请求,反馈测试结果给反向代理nginx服务器;并接收测试执行器直接发送的Http请求,反馈直接结果给该测试执行器;
利用测试执行器对比所述测试结果和所述直接结果,进行反向代理nginx测试验证。
7.如权利要求6所述反向代理nginx测试方法,其特征在于,所述Http请求对应的后端节点为可调用的应用程序编程接口API。
8.如权利要求6所述反向代理nginx测试方法,其特征在于,利用反向代理nginx服务器,根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块从所述kv存储服务器中获取所述Http请求对应的后端节点。
9.如权利要求8所述反向代理nginx测试方法,其特征在于,利用反向代理nginx服务器,根据从测试执行器接收到的Http请求,利用nginx-upsync-module模块定期查询所述kv存储服务器中所述Http请求对应的后端节点是否变更,若所述Http请求对应的后端节点有变更,则从所述kv存储服务器中获取所述Http请求对应的最新的后端节点。
10.如权利要求6所述反向代理nginx测试方法,其特征在于,利用反向代理nginx服务器根据所述Http请求对应的后端节点,通过哈希hash策略向Http服务器发送Http请求,获取测试结果反馈给测试执行器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403938.7A CN105959179B (zh) | 2016-06-08 | 2016-06-08 | 一种反向代理nginx测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403938.7A CN105959179B (zh) | 2016-06-08 | 2016-06-08 | 一种反向代理nginx测试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105959179A true CN105959179A (zh) | 2016-09-21 |
CN105959179B CN105959179B (zh) | 2019-02-05 |
Family
ID=56908679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610403938.7A Active CN105959179B (zh) | 2016-06-08 | 2016-06-08 | 一种反向代理nginx测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105959179B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171889A (zh) * | 2017-05-27 | 2017-09-15 | 北京金山安全软件有限公司 | 网络应用接口的测试方法、装置及电子设备 |
CN108063791A (zh) * | 2017-11-01 | 2018-05-22 | 千寻位置网络有限公司 | 基于动态路由的应用部署方法 |
CN108418764A (zh) * | 2018-02-07 | 2018-08-17 | 深圳壹账通智能科技有限公司 | 限流方法、装置、计算机设备和存储介质 |
CN108512724A (zh) * | 2018-03-22 | 2018-09-07 | 北京奥普维尔科技有限公司 | 基于rfc6349的双向测试方法及双向测试系统 |
CN109040128A (zh) * | 2018-09-18 | 2018-12-18 | 四川长虹电器股份有限公司 | 一种基于离线pcap流量包的WAF反向代理检测方法 |
CN110740152A (zh) * | 2018-07-20 | 2020-01-31 | 北京奇虎科技有限公司 | 测试任务的处理方法、装置和系统 |
CN113190627A (zh) * | 2021-06-02 | 2021-07-30 | 南京恩瑞特实业有限公司 | 基于nginx和Mycat的信息系统架构及其配置方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172575A1 (en) * | 2007-01-15 | 2008-07-17 | Microsoft Corporation | Simulated internet for testing internet software |
CN101478425A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种网络管理代理的方法及系统 |
CN103023939A (zh) * | 2011-09-26 | 2013-04-03 | 中兴通讯股份有限公司 | 在Nginx上实现云缓存的REST接口的方法和系统 |
CN103795762A (zh) * | 2012-11-01 | 2014-05-14 | 百度在线网络技术(北京)有限公司 | 一种反向代理的测试方法及系统 |
CN104468655A (zh) * | 2013-09-18 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 对反向代理软件进行测试的方法及系统 |
US9203931B1 (en) * | 2013-04-01 | 2015-12-01 | Amazon Technologies, Inc. | Proxy server testing |
-
2016
- 2016-06-08 CN CN201610403938.7A patent/CN105959179B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172575A1 (en) * | 2007-01-15 | 2008-07-17 | Microsoft Corporation | Simulated internet for testing internet software |
CN101478425A (zh) * | 2008-12-31 | 2009-07-08 | 深圳市同洲电子股份有限公司 | 一种网络管理代理的方法及系统 |
CN103023939A (zh) * | 2011-09-26 | 2013-04-03 | 中兴通讯股份有限公司 | 在Nginx上实现云缓存的REST接口的方法和系统 |
CN103795762A (zh) * | 2012-11-01 | 2014-05-14 | 百度在线网络技术(北京)有限公司 | 一种反向代理的测试方法及系统 |
US9203931B1 (en) * | 2013-04-01 | 2015-12-01 | Amazon Technologies, Inc. | Proxy server testing |
CN104468655A (zh) * | 2013-09-18 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 对反向代理软件进行测试的方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171889A (zh) * | 2017-05-27 | 2017-09-15 | 北京金山安全软件有限公司 | 网络应用接口的测试方法、装置及电子设备 |
CN108063791A (zh) * | 2017-11-01 | 2018-05-22 | 千寻位置网络有限公司 | 基于动态路由的应用部署方法 |
CN108418764A (zh) * | 2018-02-07 | 2018-08-17 | 深圳壹账通智能科技有限公司 | 限流方法、装置、计算机设备和存储介质 |
CN108512724A (zh) * | 2018-03-22 | 2018-09-07 | 北京奥普维尔科技有限公司 | 基于rfc6349的双向测试方法及双向测试系统 |
CN110740152A (zh) * | 2018-07-20 | 2020-01-31 | 北京奇虎科技有限公司 | 测试任务的处理方法、装置和系统 |
CN110740152B (zh) * | 2018-07-20 | 2022-11-04 | 北京奇虎科技有限公司 | 测试任务的处理方法、装置和系统 |
CN109040128A (zh) * | 2018-09-18 | 2018-12-18 | 四川长虹电器股份有限公司 | 一种基于离线pcap流量包的WAF反向代理检测方法 |
CN109040128B (zh) * | 2018-09-18 | 2020-09-22 | 四川长虹电器股份有限公司 | 一种基于离线pcap流量包的WAF反向代理检测方法 |
CN113190627A (zh) * | 2021-06-02 | 2021-07-30 | 南京恩瑞特实业有限公司 | 基于nginx和Mycat的信息系统架构及其配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105959179B (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105959179A (zh) | 一种反向代理nginx测试系统及方法 | |
US7437275B2 (en) | System for and method of multi-location test execution | |
AU2019250935B2 (en) | Method of achieving synchronization management of account information of WEB interface in multi-system DAS | |
KR101863398B1 (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
CN105119973B (zh) | 用户信息处理方法和服务器 | |
CN110244940A (zh) | 优化web应用系统开发的方法及web前端项目结构 | |
US10452522B1 (en) | Synthetic data generation from a service description language model | |
CN103179099B (zh) | 一种接入开放网站平台的统一认证方法和一种网站平台 | |
CN102938716B (zh) | 内容分发网络加速测试方法和装置 | |
CN104468655B (zh) | 对反向代理软件进行测试的方法及系统 | |
CN108228597A (zh) | 数据库访问方法和装置 | |
CN108509392A (zh) | 多机构对账方法、系统、计算机设备和存储介质 | |
CN110445841A (zh) | 一种云物理机挂载云盘的方法、设备以及存储介质 | |
US20090077262A1 (en) | System and method for synchronization between servers | |
CN109857391A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN110138747A (zh) | 一种验证账号登录状态的方法及系统 | |
Stowe | Undisturbed REST: A guide to designing the perfect API | |
Malyuga et al. | Fault tolerant central saga orchestrator in RESTful architecture | |
CN107197000A (zh) | 静态动态混合缓存方法、装置及系统 | |
CN108664554A (zh) | 一种应用程序中加载网页视图的方法及装置 | |
Lübke | Unit testing BPEL compositions | |
WO2023124314A1 (zh) | 混合cpu架构设备的微服务测试方法、系统及相关装置 | |
CN104461509A (zh) | 一种信息交互架构及方法 | |
CN110515599A (zh) | 一种基于配置的数据开放接口实现方法和系统 | |
CN113626644B (zh) | 业务流程数据的格式转换方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |