CN105100263A - 一种反向代理方法及装置 - Google Patents

一种反向代理方法及装置 Download PDF

Info

Publication number
CN105100263A
CN105100263A CN201510514737.XA CN201510514737A CN105100263A CN 105100263 A CN105100263 A CN 105100263A CN 201510514737 A CN201510514737 A CN 201510514737A CN 105100263 A CN105100263 A CN 105100263A
Authority
CN
China
Prior art keywords
request
connection request
internal server
server
user
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.)
Pending
Application number
CN201510514737.XA
Other languages
English (en)
Inventor
毛万东
陈浩
臧哲
刘鹏
张翔
吴琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510514737.XA priority Critical patent/CN105100263A/zh
Publication of CN105100263A publication Critical patent/CN105100263A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种反向代理方法及装置。一方面,本发明实施例通过接收客户端发送的连接请求,所述连接请求包含请求参数;从而,根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器;进而,向所述内部服务器发送所述连接请求。因此,本发明实施例提供的技术方案中,代理服务器能够动态的获得规则文件,并根据动态获得的规则文件进行连接请求的分发,能够解决现有技术中代理服务器上配置的规则比较单一以及分发连接请求的灵活性比较低的问题。

Description

一种反向代理方法及装置
【技术领域】
本发明涉及通信技术领域,尤其涉及一种反向代理方法及装置。
【背景技术】
反向代理技术,指的是通过代理服务器接收客户端发送的连接请求,然后将连接请求转发给指定的内部服务器进行处理,并将内部服务器的处理结果返回给发送连接请求的客户端。代理服务器由于缓存了完整的请求信息和部分页面数据,因此可以提高网站性能。同时,由于代理服务器处于客户端与内部服务器之间,因此能够很好的防止很多安全隐患。因此,反向代理技术普遍应用于互联网领域。
现有技术中,代理服务器根据配置的规则,将连接请求发往内部服务器。然而,目前代理服务器上配置的规则文件是在部署代理服务器时就配置好的,无法实现规则文件的动态配置。因此,代理服务器上配置的规则比较单一,代理服务器分发连接请求的灵活性比较低。
【发明内容】
有鉴于此,本发明实施例提供了一种反向代理方法及装置,用以解决代理服务器上配置的规则比较单一以及分发连接请求的灵活性比较低的问题。
本发明实施例的一方面,提供一种反向代理方法,包括:
接收客户端发送的连接请求,所述连接请求包含请求参数;
根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器;
向所述内部服务器发送所述连接请求。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述接收客户端发送的连接请求之前,所述方法还包括:
对代理服务器的指定目录进行监听;
若监听到所述指定目录下接收到用户动态配置的规则文件,调用所述代理服务器中预设的加载指令,以使得所述加载指令加载所述规则文件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述请求参数包括统一资源定位符URL、Cookie、用户输入的关键词、用户的IP地址、用户信息和请求类型中至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器,包括:
对预先加载的用户动态配置的规则文件进行解析,以获得请求参数与内部服务器的映射关系;
根据所述请求参数,在所述请求参数与内部服务器的映射关系中进行匹配,以获得匹配结果;
根据所述匹配结果,获得处理所述连接请求的内部服务器。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述匹配结果,获得处理所述连接请求的内部服务器,包括:
若所述匹配结果是存在与所述请求参数相匹配的内部服务器,将与所述请求参数相匹配的内部服务器作为处理所述连接请求的内部服务器;或者,
若所述匹配结果是没有与所述请求参数相匹配的内部服务器,将指定的其他服务器作为处理所述连接请求的内部服务器。
本发明实施例的一方面,提供一种反向代理装置,包括:
请求接收模块,用于接收客户端发送的连接请求,所述连接请求包含请求参数;
规则匹配模块,用于根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器;
请求转发模块,用于向所述内部服务器发送所述连接请求。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
规则加载模块,用于对代理服务器的指定目录进行监听;若监听到所述指定目录下接收到用户动态配置的规则文件,调用所述代理服务器中预设的加载指令,以使得所述加载指令加载所述规则文件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述请求参数包括统一资源定位符URL、Cookie、用户输入的关键词、用户的IP地址、用户信息和请求类型中至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述规则匹配模块,具体用于:
对预先加载的用户动态配置的规则文件进行解析,以获得请求参数与内部服务器的映射关系;
根据所述请求参数,在所述请求参数与内部服务器的映射关系中进行匹配,以获得匹配结果;
根据所述匹配结果,获得处理所述连接请求的内部服务器。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述规则匹配模块用于根据所述匹配结果,获得处理所述连接请求的内部服务器时,具体用于:
若所述匹配结果是存在与所述请求参数相匹配的内部服务器,将与所述请求参数相匹配的内部服务器作为处理所述连接请求的内部服务器;或者,
若所述匹配结果是没有与所述请求参数相匹配的内部服务器,将指定的其他服务器作为处理所述连接请求的内部服务器。
由以上技术方案可以看出,本发明实施例具有以下有益效果:
本发明实施例提供的技术方案中,代理服务器根据动态获得的规则文件,进行连接请求的分发,与现有技术中无法动态配置规则的技术方案相比,本发明实施例能够解决现有技术中代理服务器上配置的规则比较单一以及分发连接请求的灵活性比较低的问题,提高了代理服务器上配置的规则的多样性,也提高了分发连接请求的灵活性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的技术方案使用的系统的示例图;
图2是本发明实施例所提供的反向代理方法的流程示意图;
图3是本发明实施例所提供的反向代理方法的实施例的流程示例图;
图4是本发明实施例所提供的反向代理装置的实施例一的功能方块图;
图5是本发明实施例所提供的反向代理装置的实施例二的功能方块图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
本发明实施例所提供的技术方案使用的系统如图1所示,主要由客户端、代理服务器和内部服务器组成,本发明实施例所提供的方法和装置在代理服务器端实现。
本发明实施例给出一种反向代理方法,请参考图2,其为本发明实施例所提供的反向代理方法的流程示意图,如图所示,该方法包括以下步骤:
S201,接收客户端发送的连接请求,所述连接请求包含请求参数。
S202,根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器。
S203,向所述内部服务器发送所述连接请求。
可选地,在本发明实施例的一个可能的实现方式中,可以对代理服务器的指定目录进行监听,若监听到所述指定目录下接收到用户动态配置的规则文件,调用所述代理服务器中预设的加载指令,以使得所述加载指令加载所述规则文件。
在一个具体的实现过程中,用户可以将规则文件配置在代理服务器的指定目录下,所述规则文件可以由用户动态配置,即用户可以根据需求编写规则文件,并将规则文件配置代理服务器的指定目录下。其中,若指定目录下已经存在之前配置的规则文件,则用户配置的新的规则文件将用于替换之前配置的规则文件,从而实现规则文件的动态配置。
在一个具体的实现过程中,请参考图3,其为本发明实施例所提供的反向代理方法的实施例的流程示例图,如图所示,可以利用所述代理服务器中预设的监听程序对代理服务器中的指定目录进行监听。如果监听程序监听到所述指定目录下接收到用户动态配置的规则文件,则所述监听程序调用所述代理服务器中预设的加载指令,以使得所述加载指令运行,并加载所述规则文件,这样,所述规则文件在所述代理服务器中就生效了。
需要说明的是,所述代理服务器实现所述规则文件的加载是不需要所述代理服务器停止运行的,所述代理服务器在运行状态下就可以实现所述规则文件的加载,可以称这种加载方式是热加载,基于代理服务器的热加载功能,可以实现规则文件的动态配置以及即时生效。
在一个具体的实现过程中,所述用户动态配置的规则文件中可以包括请求参数与内部服务器的映射关系。因此,根据规则文件,代理服务器可以获知包含哪些请求参数的连接请求可以被发送给指定的内部服务器。
在一个具体的实现过程中,如图3所示,所述代理服务器加载了用户动态配置的规则文件后,所述代理服务器可以接收到所述客户端发送的连接请求,所述连接请求中可以包含请求参数。
例如,所述连接请求可以包括但不限于超文本传输协议(HyperTextTransferProtocol,HTTP)请求。相应的,所述代理服务器可以包括但不限于HTTP代理服务器。
例如,所述HTTP代理服务器可以包括但不限于Nginx或者Lighttpd等。
本发明实施例中,如图3所示,所述代理服务器在接收到所述客户端发送的连接请求后,可以根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器,进而可以将收到的连接请求发送给所述内部服务器,以便于所述内部服务器对该连接请求进行处理,并获得处理结果。
举例说明,本发明实施例中,代理服务器根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器的方法可以包括但不限于:
如图3所示,首先,对预先加载的用户动态配置的规则文件进行解析,以获得请求参数与内部服务器的映射关系。然后,根据所述请求参数,在所述请求参数与内部服务器的映射关系中进行匹配,以获得匹配结果。最后,根据所述匹配结果,获得处理所述连接请求的内部服务器。
举例说明,所述代理服务器根据所述匹配结果,获得处理所述连接请求的内部服务器的方法可以包括但不限于:
如图3所示,若所述匹配结果是所述映射关系中存在与所述请求参数相匹配的内部服务器,将与所述请求参数相匹配的内部服务器作为处理所述连接请求的内部服务器。若所述匹配结果是所述映射关系中没有与所述请求参数相匹配的内部服务器,将指定的其他服务器作为处理所述连接请求的内部服务器。
在一个具体的实现过程中,所述代理服务器启动后,所述代理服务器中的请求接收模块用来接收客户端发的连接请求,然后可以通过所述代理服务器中的规则匹配模块对预先加载的用户动态配置的规则文件进行解析,进而获得请求参数与内部服务器的映射关系。
在一个具体的实现过程中,所述代理服务器中可以预先加载所述规则匹配模块,所述规则匹配模块可以是以扩展模块的形式被加载到所述代理服务器。例如,若所述代理服务器是Lighttpd,则所述规则匹配模块可以是以动态加载(*.so)模式被加载到所述代理服务器。又例如,若所述代理服务器是Nginx,则所述规则匹配模块需要与代理服务器中的其他模块一起编译。
现有技术中有一种反向代理技术,是在代理服务器外设置一个规则匹配模块,由该规则匹配模块根据预设的规则获得处理连接请求的内部服务器。然而,这种反向代理技术中,连接请求还需要经过代理服务器外的规则匹配模块,需要规则匹配模块具有较高的处理性能,然而在代理服务器外设置的规则匹配模块往往达不到所需要的处理性能。而且,单独架设一个规则匹配模块增加了反向代理的架构复杂性,增加反向代理的实现成本。
相比于上述现有技术,本发明实施例中利用代理服务器的扩展模块技术,将规则匹配模块加载到所述代理服务器中,而代理服务器中的扩展模块的处理性能比较高,因此能够解决代理服务器外设置的规则匹配模块往往达不到所需要的处理性能的问题。而且,由于在代理服务器中增加规则匹配模块,因此不会增加反向代理的架构复杂度,降低了反向代理的实现成本。
本发明实施例中,通过加载用户动态配置的规则文件,可以动态的获得规则文件,并利用热加载技术使得规则文件能够即时生效,实现了代理服务器上规则文件的动态配置,解决了现有技术中由于不能动态配置规则文件而带来的分发连接请求的灵活性比较低的问题,提高了分发连接请求的灵活性和多样性。
在一个具体的实现过程中,所述请求参数可以包括但不限于以下参数中至少一个:
所述连接请求所针对统一资源定位符(UniformResourceLocator,URL);
Cookie;
用户输入的关键词;
用户的IP地址;
用户信息;以及,
请求类型。
例如,所述用户信息可以包括但不限于用户身份标识(UserIdentification,UID)和主机名称(UserName,UName)中至少一个。
例如,所述请求类型指的是所述连接请求的请求类型,可以包括但不限于GET或者POST。
相应的,基于上述请求参数,所述规则文件中包含的请求参数与内部服务器的映射关系可以包括但不限于:
URL与内部服务器的映射关系;
Cookie与内部服务器的映射关系;
关键词与内部服务器的映射关系;
内网的IP网段与内部服务器的映射关系;
用户信息与内部服务器的映射关系;以及,
请求类型与内部服务器的映射关系。
例如,URL:www.baidu.com→Server1。
或者,又例如,请求类型:GET→Server1。
或者,又例如,请求类型:POST→Server2。
例如,若所述连接请求中包含的请求参数为用户的IP地址,则根据该IP地址,在内网的IP网段与内部服务器的映射关系中进行匹配,判断该用户的IP地址是否属于规则文件中包含的内网的IP网段。如果用户的IP地址属于规则文件中包含的内网的IP网段,说明存在与所述请求参数相匹配的内部服务器,确定该内部服务器是处理所述连接请求的服务器。反之,如果用户的IP地址不属于规则文件中包含的内网的IP网段,说明不存在与所述请求参数相匹配的内部服务器,进而将指定的其他服务器作为处理所述连接请求的内部服务器。
或者,又例如,若所述连接请求中包含的请求参数为UID,则根据该UID,在核心UID与内部服务器的映射关系中进行匹配,判断该UID是否属于规则文件中包含的核心UID。如果该UID属于规则文件中包含的核心UID,说明存在与所述请求参数相匹配的内部服务器,确定该内部服务器是处理所述连接请求的服务器。反之,如果UID不属于规则文件中包含的核心UI,说明不存在与所述请求参数相匹配的内部服务器,进而将指定的其他服务器作为处理所述连接请求的内部服务器。
在一个具体的实现过程中,指定的其他服务器的数目可以是一个或者也可以是两个以上。若指定的其他服务器的数目是一个,则所述代理服务器将连接请求发送给该指定的其他服务器。若指定的其他服务器的数目是两个以上,则所述代理服务器可以随机选出一个其他服务器来发送连接请求,本发明实施例对此不进行特别限定。
本发明实施例中,可以根据URL、Cookie、关键词、用户的IP地址、用户信息或者请求类型等参数,实现连接请求的分发,与现有技术中,只能根据URL实现连接请求的分发相比,本发明实施例所提供的技术方案解决了代理服务器上配置的规则比较单一以及灵活性比较低的问题。
在一个具体的实现过程中,在获得处理所述连接请求的内部服务器之后,可以将所述连接请求发送给该内部服务器,以便于该内部服务器在收到连接请求后,对收到的连接请求进行处理,以获得处理结果,并将该处理结果发送给所述代理服务器,这样所述代理服务器就可以将处理结果进一步转发给发送该连接请求的客户端。
需要说明的是,本发明实施例实现了反向代理的规则的多样化配置,并且配置的规则能够实时生效。由于本发明实施例所提供的反向代理方法中,能够支持根据连接请求中各种请求参数,向内部服务器进行连接请求的转发,因此,本发明实施例所提供的技术方案能够很好的被应用于产品的定向投放。
关于产品的定向投放可以包括但不限于有以下两种应用场景:
第一种:产品上线。即为了控制产品的上线风险,会先允许内网用户IP进行访问,确保没问题后会允许核心用户进行访问,依然没有问题后会全量发布,即允许所有用户都访问,从而可以保证产品的上线质量,降低产品上线风险。
第二种:收集用户反馈。即允许指定用户访问,并收集指定用户的反馈信息,该反馈信息可以用于指导需求制定,提高产品的开发迭代效率。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
请参考图4,其为本发明实施例所提供的反向代理装置的功能方块图。如图所示,该装置包括:
请求接收模块41,用于接收客户端发送的连接请求,所述连接请求包含请求参数;
规则匹配模块42,用于根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器;
请求转发模块43,用于向所述内部服务器发送所述连接请求。
请参考图5,其为本发明实施例所提供的反向代理装置的实施例二的功能方块图,如图所示,所述装置还可以包括:
规则加载模块44,用于对代理服务器的指定目录进行监听;若监听到所述指定目录下接收到用户动态配置的规则文件,调用所述代理服务器中预设的加载指令,以使得所述加载指令加载所述规则文件。
优选的,所述请求参数包括统一资源定位符URL、Cookie、用户输入的关键词、用户的IP地址、用户信息和请求类型中至少一个。
优选的,所述规则匹配模块42,具体用于:
对预先加载的用户动态配置的规则文件进行解析,以获得请求参数与内部服务器的映射关系;
根据所述请求参数,在所述请求参数与内部服务器的映射关系中进行匹配,以获得匹配结果;
根据所述匹配结果,获得处理所述连接请求的内部服务器。
优选的,所述规则匹配模块42用于根据所述匹配结果,获得处理所述连接请求的内部服务器时,具体用于:
若所述匹配结果是存在与所述请求参数相匹配的内部服务器,将与所述请求参数相匹配的内部服务器作为处理所述连接请求的内部服务器;或者,
若所述匹配结果是没有与所述请求参数相匹配的内部服务器,将指定的其他服务器作为处理所述连接请求的内部服务器。
由于本实施例中的各单元能够执行图2和图3所示的方法,本实施例未详细描述的部分,可参考对图2和图3的相关说明。
本发明实施例的技术方案具有以下有益效果:
本发明实施例中,通过接收客户端发送的连接请求,所述连接请求包含请求参数;从而,根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器;进而,向所述内部服务器发送所述连接请求。
本发明实施例提供的技术方案中,代理服务器根据动态获得的规则文件,进行连接请求的分发,与现有技术中无法动态配置规则的技术方案相比,本发明实施例能够解决现有技术中代理服务器上配置的规则比较单一以及分发连接请求的灵活性比较低的问题,提高了代理服务器上配置的规则的多样性,也提高了分发连接请求的灵活性。
另外,本发明实施例所提供的技术方案与现有技术中在代理服务器外设置规则匹配模块的技术方案相比,能够解决现有技术中处理性能比较低以及架构复杂性较高的问题,因此,本发明实施例所提供的技术方案能够提高规则匹配的处理性能,降低反向代理的架构复杂性,减少反向代理的实现成本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种反向代理方法,其特征在于,所述方法包括:
接收客户端发送的连接请求,所述连接请求包含请求参数;
根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器;
向所述内部服务器发送所述连接请求。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的连接请求之前,所述方法还包括:
对代理服务器的指定目录进行监听;
若监听到所述指定目录下接收到用户动态配置的规则文件,调用所述代理服务器中预设的加载指令,以使得所述加载指令加载所述规则文件。
3.根据权利要求1所述的方法,其特征在于,所述请求参数包括统一资源定位符URL、Cookie、用户输入的关键词、用户的IP地址、用户信息和请求类型中至少一个。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器,包括:
对预先加载的用户动态配置的规则文件进行解析,以获得请求参数与内部服务器的映射关系;
根据所述请求参数,在所述请求参数与内部服务器的映射关系中进行匹配,以获得匹配结果;
根据所述匹配结果,获得处理所述连接请求的内部服务器。
5.根据权利要求4所述的方法,其特征在于,所述根据所述匹配结果,获得处理所述连接请求的内部服务器,包括:
若所述匹配结果是存在与所述请求参数相匹配的内部服务器,将与所述请求参数相匹配的内部服务器作为处理所述连接请求的内部服务器;或者,
若所述匹配结果是没有与所述请求参数相匹配的内部服务器,将指定的其他服务器作为处理所述连接请求的内部服务器。
6.一种反向代理装置,其特征在于,所述装置包括:
请求接收模块,用于接收客户端发送的连接请求,所述连接请求包含请求参数;
规则匹配模块,用于根据预先加载的用户动态配置的规则文件和所述请求参数,获得处理所述连接请求的内部服务器;
请求转发模块,用于向所述内部服务器发送所述连接请求。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
规则加载模块,用于对代理服务器的指定目录进行监听;若监听到所述指定目录下接收到用户动态配置的规则文件,调用所述代理服务器中预设的加载指令,以使得所述加载指令加载所述规则文件。
8.根据权利要求6所述的装置,其特征在于,所述请求参数包括统一资源定位符URL、Cookie、用户输入的关键词、用户的IP地址、用户信息和请求类型中至少一个。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述规则匹配模块,具体用于:
对预先加载的用户动态配置的规则文件进行解析,以获得请求参数与内部服务器的映射关系;
根据所述请求参数,在所述请求参数与内部服务器的映射关系中进行匹配,以获得匹配结果;
根据所述匹配结果,获得处理所述连接请求的内部服务器。
10.根据权利要求9所述的装置,其特征在于,所述规则匹配模块用于根据所述匹配结果,获得处理所述连接请求的内部服务器时,具体用于:
若所述匹配结果是存在与所述请求参数相匹配的内部服务器,将与所述请求参数相匹配的内部服务器作为处理所述连接请求的内部服务器;或者,
若所述匹配结果是没有与所述请求参数相匹配的内部服务器,将指定的其他服务器作为处理所述连接请求的内部服务器。
CN201510514737.XA 2015-08-20 2015-08-20 一种反向代理方法及装置 Pending CN105100263A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510514737.XA CN105100263A (zh) 2015-08-20 2015-08-20 一种反向代理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510514737.XA CN105100263A (zh) 2015-08-20 2015-08-20 一种反向代理方法及装置

Publications (1)

Publication Number Publication Date
CN105100263A true CN105100263A (zh) 2015-11-25

Family

ID=54579778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510514737.XA Pending CN105100263A (zh) 2015-08-20 2015-08-20 一种反向代理方法及装置

Country Status (1)

Country Link
CN (1) CN105100263A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302755A (zh) * 2016-08-18 2017-01-04 中央电视台 反向被动代理方法及装置
CN107222561A (zh) * 2017-07-03 2017-09-29 杭州泰酷科技有限公司 一种传输层反向代理方法
CN107948314A (zh) * 2017-12-21 2018-04-20 泰康保险集团股份有限公司 基于规则文件的业务处理方法、装置及服务器
CN108111345A (zh) * 2017-12-19 2018-06-01 易知成都数据服务有限公司 一种可视化反向代理配置和测试方法
CN109218368A (zh) * 2017-07-05 2019-01-15 北京京东尚科信息技术有限公司 实现Http反向代理的方法、装置、电子设备和可读介质
CN111212154A (zh) * 2019-12-31 2020-05-29 瑞庭网络技术(上海)有限公司 服务绑定方法、装置、终端、服务器和存储介质
CN112491940A (zh) * 2019-09-12 2021-03-12 北京京东振世信息技术有限公司 代理服务器的请求转发方法及装置、存储介质及电子设备
WO2022002209A1 (zh) * 2020-07-01 2022-01-06 中兴通讯股份有限公司 数据传输方法和代理服务器、存储介质及电子装置
CN114338796A (zh) * 2021-12-29 2022-04-12 中国农业银行股份有限公司 动态反向代理方法、装置、反向代理系统、设备及介质
CN114827233A (zh) * 2022-04-27 2022-07-29 平安普惠企业管理有限公司 基于双活集群的交互连接方法、装置、计算机设备及介质
CN115315926A (zh) * 2020-03-24 2022-11-08 微软技术许可有限责任公司 用于实现基于应用层和基于传输层的安全规则的反向代理服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685094A (zh) * 2011-12-16 2012-09-19 河南科技大学 反转代理系统及方法
US20140040415A1 (en) * 2012-08-06 2014-02-06 Suresh Mathew Systems and methods for caching http post requests and responses

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685094A (zh) * 2011-12-16 2012-09-19 河南科技大学 反转代理系统及方法
US20140040415A1 (en) * 2012-08-06 2014-02-06 Suresh Mathew Systems and methods for caching http post requests and responses

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
51CTO: "Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解", 《HTTPS://BLOG.51CTO.COM/FREELODA/1288553》 *
CSDN: "(总结)Linux服务器上最简单的Nginx反向代理配置", 《HTTP://BLOG.CSDN.NET/WHITE__CAT/ARTICLE/DETAILS/37927325》 *
CSDN: "Nginx动态加载新的配置文件", 《HTTP://BLOG.CSDN.NET/ZHU_TIANWEI/ARTICLE/DETAILS/17784301》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302755A (zh) * 2016-08-18 2017-01-04 中央电视台 反向被动代理方法及装置
CN106302755B (zh) * 2016-08-18 2019-03-19 中央电视台 反向被动代理方法及装置
CN107222561A (zh) * 2017-07-03 2017-09-29 杭州泰酷科技有限公司 一种传输层反向代理方法
CN109218368A (zh) * 2017-07-05 2019-01-15 北京京东尚科信息技术有限公司 实现Http反向代理的方法、装置、电子设备和可读介质
CN108111345B (zh) * 2017-12-19 2021-04-13 易知成都数据服务有限公司 一种可视化反向代理配置和测试方法
CN108111345A (zh) * 2017-12-19 2018-06-01 易知成都数据服务有限公司 一种可视化反向代理配置和测试方法
CN107948314A (zh) * 2017-12-21 2018-04-20 泰康保险集团股份有限公司 基于规则文件的业务处理方法、装置及服务器
CN107948314B (zh) * 2017-12-21 2021-07-06 泰康保险集团股份有限公司 基于规则文件的业务处理方法、装置及服务器
CN112491940A (zh) * 2019-09-12 2021-03-12 北京京东振世信息技术有限公司 代理服务器的请求转发方法及装置、存储介质及电子设备
CN112491940B (zh) * 2019-09-12 2024-05-24 北京京东振世信息技术有限公司 代理服务器的请求转发方法及装置、存储介质及电子设备
CN111212154A (zh) * 2019-12-31 2020-05-29 瑞庭网络技术(上海)有限公司 服务绑定方法、装置、终端、服务器和存储介质
CN115315926A (zh) * 2020-03-24 2022-11-08 微软技术许可有限责任公司 用于实现基于应用层和基于传输层的安全规则的反向代理服务器
WO2022002209A1 (zh) * 2020-07-01 2022-01-06 中兴通讯股份有限公司 数据传输方法和代理服务器、存储介质及电子装置
CN114338796A (zh) * 2021-12-29 2022-04-12 中国农业银行股份有限公司 动态反向代理方法、装置、反向代理系统、设备及介质
CN114338796B (zh) * 2021-12-29 2024-04-30 中国农业银行股份有限公司 动态反向代理方法、装置、反向代理系统、设备及介质
CN114827233A (zh) * 2022-04-27 2022-07-29 平安普惠企业管理有限公司 基于双活集群的交互连接方法、装置、计算机设备及介质
CN114827233B (zh) * 2022-04-27 2023-11-24 光禹莱特数字科技(上海)有限公司 基于双活集群的交互连接方法、装置、计算机设备及介质

Similar Documents

Publication Publication Date Title
CN105100263A (zh) 一种反向代理方法及装置
CN104335523B (zh) 一种权限控制方法、客户端及服务器
US20110225265A1 (en) A/B Testing
CN107436873B (zh) 一种网址跳转方法、装置及中转装置
CN106254451B (zh) 嵌入式设备web菜单控制系统及方法
CN104811488A (zh) 基于负载均衡设备的会话保持方法及系统和负载均衡设备
CN104735066A (zh) 一种面向网页应用的单点登录方法、装置和系统
CN101662464A (zh) 一种用于实现http请求服务的系统及其方法
CN103997452A (zh) 多平台之间的信息分享方法及装置
CN105939313B (zh) 状态码重定向方法及装置
WO2007107702A1 (en) Content management
CN104092811A (zh) 移动终端信息下载的方法、系统、终端设备及服务器
CN104394133A (zh) 登录方法和登录系统
CN102955907B (zh) 密码管理方法和装置
CN105871947A (zh) 跨域请求数据的方法及装置
US20060168079A1 (en) System and method for automatically connecting a client computer to a server
CN105141605A (zh) 会话方法、网站服务器及浏览器
CN103036993A (zh) 实现网站登录的浏览器客户端和方法
KR20100027200A (ko) 현재 페이지 자동 로그인 프로그램 및 그 방법
CN110347955B (zh) 一种资源检测方法及装置
CN110324384B (zh) 数据推送的方法和装置
CN104902033A (zh) 登陆地址记录方法及装置
CN103560884B (zh) 用户身份信息的注销方法、系统、认证服务器及客户端
CN103312594B (zh) 一种进入聊天房间的方法及装置
US8996671B1 (en) Method of providing service-provider-specific support link data to a client in a storage context

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151125