掌桥专利:专业的专利平台
掌桥专利
首页

反向代理系统及其方法、设备及存储介质

文献发布时间:2024-01-17 01:14:25


反向代理系统及其方法、设备及存储介质

技术领域

本发明涉及计算机网络技术领域,尤其涉及一种反向代理系统及其方法、设备及存储介质。

背景技术

随着计算机网络的不断发展,许多公司、学校、组织和社会团体等内部形成了内部局域网,也称为内部网络,而且通常内部局域网又需要和外部网络进行连接,以方便地从互联网上获得网络信息。为了保护内部网络的安全性,通常采用了代理服务器来代理内部局域网络对外部网络的连接。如果一个代理服务器能够代理外部网络上的客户机访问内部网络,那么这类代理服务器被称为反向代理服务器,这种代理访问的方式称为反向代理。

在现有技术中,传统反向代理提供了一种外部网络通过代理服务器访问内部网络的方法,但是要求反向代理服务器暴露一个外部网络可访问的IP,如图1中所示,此处通常需要分配一个外部网络IP资源。这样的设置方式由于反向代理服务器一端通过外部网络IP与外部网络连接,而另一端通过内部网络的局域网IP与内部网络连接,将会导致内部网络较容易受到外部网络中的一些客户端攻击,影响内部网络的安全性问题。例如,具有外部网络的IP地址的反向代理服务器将增加内部网络的客户安全攻击面,因此,现有技术中的反向代理服务器本身的安全问题将会导致内部网络的安全突破口,可参考如反向代理服务器NGINX F5等反向代理类产品的安全漏洞报告。

综上可知,现有的反向代理服务技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容

针对上述的缺陷,本发明的目的在于提供一种代理系统及其方法、设备及存储介质,以提高反向代理客户机访问内部网络的安全性。

为了实现本发明的一个发明目的,提供了一种反向代理系统,用于代理外部网络的客户机访问内部网络的内部服务器,包括:

代理服务器,设置于所述外部网络上,通过所述外部网络的IP地址与所述外部网络连接;所述代理服务器用于接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求传送到信息队列组件,以及向所述客户机返回所述内部服务器对所述处理请求的响应信息;

信息队列组件,设置于所述外部网络上,分别与所述代理服务器和所述内网客户端连接,所述信息队列组件用于将所述处理请求传送到所述内网客户端,以及将所述响应信息传送到所述代理服务器;

内网客户端,设置于所述内部网络上,通过所述内部网络的IP地址与所述内部服务器连接;所述内网客户端用于根据所述处理请求访问所述内部服务器,并将获得的所述内部服务器对所述处理请求的响应信息传送到所述信息队列组件。

根据所述的反向代理系统,所述代理服务器包括:

第一接收发布模块,用于接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求向所述信息队列组件发布;

第一传送订阅模块,用于向所述信息队列组件订阅所述内部服务器对所述处理请求的响应信息;以及将订阅获得的所述响应信息传送到所述客户机。

根据所述的反向代理系统,所述信息队列组件包括:

信息队列发布模块,用于接收所述代理服务器向所述信息队列组件发布的所述处理请求,并将所述处理请求在所述信息队列组件的消息队列中发布;以及用于接收所述内网客户端向所述信息队列组件发布的所述响应信息,并将所述响应信息在所述信息队列组件的消息队列中发布;

信息队列订阅模块,用于接收所述内网客户端向所述信息队列组件订阅所述处理请求的请求,并在所述处理请求发布后,将所述处理请求传送到所述内网客户端;以及接收所述代理服务器向所述信息队列组件订阅所述响应信息的请求,并在所述响应信息发布后,将所述响应信息传送到所述代理服务器。

根据所述的反向代理系统,所述内网客户端包括:

第二传送订阅模块,用于向所述信息队列组件订阅所述处理请求,并根据订阅获得的所述处理请求访问所述内网服务器,获得所述内部服务器对所述处理请求的响应信息;

第二接收发布模块,用于将第二传送订阅模块获得的所述响应信息向所述信息队列组件发布。

根据所述的反向代理系统,所述代理服务器还包括:

WAN接口,用于与通过所述外部网络的IP地址与所述外部网络连接;

所述内网客户端还包括:

LAN接口,用于与通过所述内网服务器IP地址与所述内部网络连接。

为了实现本发明的另一发明目的,本发明还提供了一种适用反向代理系统的反向代理的方法,所述反向代理系统用于代理外部网络的客户机访问内部网络的内部服务器,所述反向代理系统包括:设置于所述外部网络上,通过所述外部网络的IP地址与所述外部网络连接的代理服务器;设置于所述外部网络上,分别与所述代理服务器和所述内网客户端连接的信息队列组件;以及设置于所述内部网络上,通过所述内部网络的IP地址与所述内部服务器连接的内网客户端;所述方法包括:

所述代理服务器接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求传送到信息队列组件;

所述信息队列组件将所述处理请求传送到所述内网客户端;

所述内网客户端根据所述处理请求访问所述内部服务器,并将获得的所述内部服务器对所述处理请求的响应信息传送到所述信息队列组件;

所述信息队列组件将所述响应信息传送到所述代理服务器;

所述代理服务器向所述客户机返回所述内部服务器对所述处理请求的响应信息。

为了实现本发明的另一发明目的,本发明还提供了一种代理服务器,所述代理服务器为用于任意一项所述的反向代理系统的代理服务器。

为了实现本发明的另一发明目的,本发明还提供了一种内网客户端,所述内网客户端为用于任意一项所述的反向代理系统的内网客户端。

为了实现本发明的另一发明目的,本发明还提供了一种存储介质,用于存储一种用于执行所述的方法的计算机程序。

为了实现本发明的另一发明目的,本发明还提供了一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法。

本发明通过将反向代理系统设置为包括代理服务器、信息队列组件以及内网客户端,代理服务器,设置于所述外部网络上,并用于接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求传送到信息队列组件,以及向所述客户机返回所述内部服务器对所述处理请求的响应信息;信息队列组件设置于所述外部网络上,分别与所述代理服务器和所述内网客户端连接,所述信息队列组件用于将所述处理请求传送到所述内网客户端,以及将所述响应信息传送到所述代理服务器;内网客户端设置于所述内部网络上,所述内网客户端用于根据所述处理请求访问所述内部服务器,并将获得的所述内部服务器对所述处理请求的响应信息传送到所述信息队列组件。由此,由于反向代理系统的代理服务器整体是设置在外部网络上,其通过信息队列组件与内部网络的内部客户端交互信息,代理服务器不需要采用外部网络的IP资源,安全性更高,反向代理系统未暴露内部网络安全的攻击面,使得使用本发明提供的反向代理系统、方法及其装置实现的反向代理的访问方式更为安全,而且其部署简单,操作方便。

附图说明

图1是现有技术中的外部网络通过代理服务器访问内部网络的示意图;

图2是本发明实施例提供反向代理系统的组成示意图;

图3是本发明另一个实施例提供反向代理系统的组成示意图;

图4是本发明实施例提供的适用反向代理系统的反向代理的方法的流程图;

图5是本发明实施例提供的适用反向代理系统的反向代理的方法的流程图;

图6是本发明实施例提供的存储介质的结构示意图;

图7是本发明实施例提供的计算机设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

需要说明的,本说明书中针对“一个实施例”、“实施例”、“示例实施例”等的引用,指的是描述的该实施例可包括特定的特征、结构或特性,但是不是每个实施例必须包含这些特定特征、结构或特性。此外,这样的表述并非指的是同一个实施例。进一步,在结合实施例描述特定的特征、结构或特性时,不管有没有明确的描述,已经表明将这样的特征、结构或特性结合到其它实施例中是在本领域技术人员的知识范围内的。

此外,在说明书及后续的权利要求当中使用了某些词汇来指称特定组件或部件,所属领域中具有通常知识者应可理解,制造商可以用不同的名词或术语来称呼同一个组件或部件。本说明书及后续的权利要求并不以名称的差异来作为区分组件或部件的方式,而是以组件或部件在功能上的差异来作为区分的准则。在通篇说明书及后续的权利要求书中所提及的“包括”和“包含”为一开放式的用语,故应解释成“包含但不限定于”。以外,“连接”一词在此系包含任何直接及间接的电性连接手段。间接的电性连接手段包括通过其它装置进行连接。

参见图2,在本发明的一个实施例中,提供了一种反向代理系统100,用于代理外部网络的客户机101访问内部网络的内部服务器102,包括:

代理服务器10,设置于所述外部网络上,通过所述外部网络的IP地址与所述外部网络连接;代理服务器10用于接收客户机101发送的对内部服务器102的处理请求,并将所述处理请求传送到信息队列组件20,以及向客户机101返回内部服务器102对所述处理请求的响应信息;该代理服务器10为设置在公网上的代理服务器,其通过外部网络的IP地址与外部网络连接;另外还通过作为与内网客户端30通信的中间消息组件的信息队列组件20,与内网客户端30交互消息。设置在外部网络的客户机101需要访问内部网络时,首先向代理服务器10发送处理请求,代理服务器10接收到处理请求后,将其传送到信息队列组件20。

信息队列组件20,设置于所述外部网络上,分别与代理服务器10和内网客户端30连接,信息队列组件20用于将所述处理请求传送到所述内网客户端30,以及将所述响应信息传送到代理服务器10;信息队列组件20作为代理服务器10和内网客户端30消息交互的中间消息组件,将在两者间传送客户机101的对内部服务器102发送的处理请求,以及内部服务器102对该处理请求的响应信息。

内网客户端30,设置于所述内部网络上,通过所述内部网络的IP地址与内部服务器102连接;内网客户端30用于根据所述处理请求访问所述内部服务器102,并将获得的内部服务器102对所述处理请求的响应信息传送到所述信息队列组件20。内网客户端30为设置于内部网络上的客户端,其与一端与信息队列组件20连接,另一端与内部网络的内部服务器102连接。内网客户端30接收到信息队列组件20传送的所述处理请求后,根据该处理请求访问内部服务器102,实质上对于内部服务器102来说,该内部服务器102代替外部网络的客户机101向其发出处理请求。

在该实施例中,通过设置在外部网络的代理服务器10接收外部网络的客户机101发出处理请求,该处理请求可以为多种类型,不同的处理请求是对所述内部网络的不同的访问请求。处理请求具体的可包括:加载所述内部网络网页的请求、下载所述内部网络的文件的请求以及安全扫描所述内部网络的请求等。代理服务器10将该处理请求传送到信息队列组件20,信息队列组件20作为中间消息组件,将该处理请求传送到内网客户端30,由内网客户端30将该处理请求发送到内部服务器102,该内部服务器102对于处理请求作出响应。若该处理请求符合预设的内部网络的访问要求,如安全性要求或者权限要求等,内部服务器102将作出正常的响应,若不符合,内部服务器102将作出拒绝访问的响应。例如,处理请求为加载所述内部网络网页的请求,内部服务器102将在该处理请求符合预设的内部网络的访问要求时,向内网客户端30返回响应信息,内网客户端30再将该响应信息传送到信息队列组件20,信息队列组件20将该响应信息再传送到代理服务器10,最后由代理服务器10将该响应信息返回客户机101,由此客户机101处理请求获得部服务器102的响应,可以正常运行,在客户机101端可以加载加载内部网络网页。而由于代理服务器10整体是设置在外部网络上,其通过信息队列组件20与内部网络的内部客户端30交互信息,相对于现有技术中的反向代理服务器在外部网络通过外部网络的IP地址与外部网络连接的方式,本实施例中的反向代理系统100其未暴露内部网络安全的攻击面,使得反向代理的访问方式更为安全。外部网络上的终端难以通过本实施例中的反向代理系统100对内部网络进行攻击;而且该反向代理系统100的部署简单,特别是其中的内网客户端30功能简单,为轻量化部署,简化了反向代理设计的部署成本。

参见图3和图5,在本发明的一个实施例中,代理服务器10包括:

第一接收发布模块11,用于接收客户机101发送的对内部服务器102的处理请求,并将所述处理请求向信息队列组件20发布;

第一传送订阅模块12,用于向信息队列组件20订阅内部服务器102对所述处理请求的响应信息;以及将订阅获得的所述响应信息传送到客户机101。

信息队列组件20包括:

信息队列发布模块21,用于接收代理服务器10向所述信息队列组件20发布的所述处理请求,并将所述处理请求在信息队列组件20的消息队列中发布;以及用于接收内网客户端30向信息队列组件20发布的所述响应信息,并将所述响应信息在信息队列组件20的消息队列中发布;

信息队列订阅模块22,用于接收内网客户端30向信息队列组件20订阅所述处理请求的请求,并在所述处理请求发布后,将所述处理请求传送到所述内网客户端30;以及接收代理服务器10向信息队列组件20订阅所述响应信息的请求,并在所述响应信息发布后,将所述响应信息传送到所述代理服务器10。

内网客户端30包括:

第二传送订阅模块31,用于向信息队列组件20订阅所述处理请求,并根据订阅获得的处理请求访问所述内网服务器,获得内部服务器102对所述处理请求的响应信息;

第二接收发布模块32,用于将第二传送订阅模块31获得的所述响应信息向信息队列组件20发布。

在该实施例中,可以将代理服务器10和内网客户端30的信息传送模式设置为发布/订阅模式,即两者分别将与反向代理的相关信息信息发布到信息队列组件20的消息队列中,或者对信息队列组件20的消息队列中与反向代理的相关信息进行订阅。如信息队列组件20信息队列订阅模块22可以接收内网客户端30向信息队列组件20订阅所述处理请求的请求,以及接收代理服务器10向信息队列组件20订阅所述响应信息的请求。在信息队列组件20的消息队列中存在两者订阅的相关信息时,如信息队列发布模块21将两者订阅的相关信息在消息队列中发布后,通过该发布的方式向代理服务器10和内网客户端30传送两者订阅的相关信息。优选的,信息队列组件20采用rabbitmq消息中间组件实现。rabbitmq是实现了AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的开源消息代理软件,AMQP是一个提供统一消息服务的应用层标准高级消息队列协议。rabbitmq也称为面向消息的中间件。当然信息队列组件还可以采用其他任意标准的消息队列服务实现,rabbitmq消息中间组件只是本发明实施例中的一中可选实施方式。

代理服务器10通过第一接收发布模块11将接收到所述处理请求后将其向信息队列组件20发布,信息队列发布模块21接收到所述处理请求后,将其在信息队列组件20的消息队列中发布。由于内网客户端30对所述处理请求有订阅,因此在信息队列组件20的消息队列中发布所述处理请求后,内网客户端30的第二传送订阅模块31将接收到信息队列组件20发布的所述处理请求。之后,内网客户端30的第二传送订阅模块31根据该处理请求对内部服务器102访问,内部服务器102对该处理请求进行响应,向内网客户端30返回第二传送订阅模块31返回对于所述处理请求的响应信息。内网客户端30的第二接收发布模块32则将所述响应信息向信息队列组件20发布。信息队列组件20的信息队列发布模块21将所述响应信息在信息队列组件20的消息队列中发布;第一传送订阅模块12将订阅获得的所述响应信息传送到客户机101,由此反向代理系统100完成一次反向代理外部网络的客户机101对内部网络的内部服务器102的访问。此外,代理服务器10可标准的网络代理服务,方便对接已有的支持代理模式的安全模块/组件。

参见图3,在本发明的一个实施例中,代理服务器10还包括:

WAN接口13,用于与通过所述外部网络的IP地址与所述外部网络连接;

所述内网客户端30还包括:

LAN接口33,用于与通过所述内网服务器IP地址与所述内部网络连接。

优选的,所述外部网络为广域网;代理服务器10为WEB服务器或者云服务器;客户机101为所述外部网络的服务器或者客户端;用户可以从任何一种客户机101访问内部服务器102,该客户机101具体可以包括移动设备,例如手机、PDA(Personal DigitalAssistant,个人数字助理)、膝上型计算机、掌上电脑等等,也可以包括固定设备,例如个人计算机、智能电视等等。

在本发明的一个实施例中,客户机101安装有SaaS(Software-as-a-Service,软件即服务)化的安全扫描软件,在内部网络,如在企业内网部署一套对应的客户端程序,该客户端程序可安装于内网客户端30。客户机101向代理服务器10发送安全扫描所述内部网络的请求,请求对内部网络服务进行扫描,通过信息队列组件20、内网客户端30对安全扫描所述内部网络的请求的传送,这样即可完成整个扫描过程,无需企业用户提供具有公网IP的资源,保护业务系统核心组件,该模式下业务系统核心模块都可以部署在云端的代理服务器10,比如安全扫描所述内部网络的请求可以只从云端发起,内部网络的客户端30不涉及安全扫描核心逻辑,这样可以防止核心模块暴露或者被破解,保护核心模块资产。

为了实现本发明的另一发明目的,参见图2和图4,本发明还提供了一种适用反向代理系统100的反向代理的方法,反向代理系统100用于代理外部网络的客户机101访问内部网络的内部服务器102,反向代理系统100包括:设置于所述外部网络上,通过所述外部网络的IP地址与所述外部网络连接的代理服务器10;设置于所述外部网络上,分别与代理服务器10和内网客户端30连接的信息队列组件20;以及设置于所述内部网络上,通过所述内部网络的IP地址与所述内部服务器102连接的内网客户端30;所述方法包括:

步骤S401,代理服务器10接收客户机102发送的对内部服务器102的处理请求,并将所述处理请求传送到信息队列组件;

步骤S402,信息队列组件20将所述处理请求传送到内网客户端30;

步骤S403,内网客户端30根据所述处理请求访问内部服务器102,并将获得的内部服务器102对所述处理请求的响应信息传送到信息队列组件20;

步骤S404,信息队列组件20将所述响应信息传送到代理服务器10;

步骤S405,代理服务器10向客户机102返回内部服务器102对所述处理请求的响应信息。

在该实施例中,利用本发明提供的反向代理系统100实现反向代理的方法。首先,代理服务器10接收客户机101发送的对所述内部服务器102的处理请求,并将所述处理请求传送到信息队列组件20;信息队列组件20将所述处理请求传送到内网客户端30,内网客户端30接收到所述处理请求后访问内部服务器102,获得的内部服务器102对所述处理请求的响应信息,并将该响应信息传送到信息队列组件20,信息队列组件20将所述响应信息传送的代理服务器10;最终代理服务器10向客户机101返回内部服务器102对所述处理请求的响应信息;其中所述处理请求包括:加载所述内部网络网页的请求、下载所述内部网络的文件的请求以及安全扫描所述内部网络的请求等。根据返回的响应信息,客户机101端加载所述内部网络网页、下载所述内部网络的文件、安全扫描所述内部网络等,由此完成了反向代理系统100为客户机101反向代理的整个方法过程。而由于反向代理系统100中的代理服务器10是设置在外部网络上,其通过信息队列组件20与内部网络的内部客户端30交互信息;因此,本实施例中的采用反向代理系统100实现反向代理的方法,其未暴露内部网络安全的攻击面,使得反向代理的方法更为安全。

参见图4,在本发明的一个实施例中,代理服务器10包括第一接收发布模块11和第一传送订阅模块12,信息队列组件20包括信息队列发布模块21和信息队列订阅模块22;内网客户端30包括第二传送订阅模块31和第二接收发布模块32;所述步骤S401包括:

第一接收发布模块11接收客户机101发送的对内部服务器102的处理请求,并将所述处理请求向信息队列组件20发布;客户机101发送处理请求通过代理服务器10的第一接收发布模块11接收,并以发布的方式传送到信息队列组件20。

步骤S402包括:

信息队列发布模块21接收第一接收发布模块11向信息队列组件20发布的处理请求;

第二传送订阅模块31向信息队列组件20订阅所述处理请求;

信息队列订阅模块22接收第二传送订阅模块31的所述订阅,并在信息队列发布模块21将所述处理请求在信息队列组件20的消息队列中发布后,将所述处理请求传送到内网客户端30。在信息队列发布模块21接收所述处理请求,此外内网客户端30也会通过第二传送订阅模块31向信息队列组件20订阅所述处理请求;并由信息队列订阅模块22完成发布及将所述处理请求传送到内网客户端30。

步骤S403包括:

第二传送订阅模块31根据订阅获得的所述处理请求访问内网服务器102,并获得内部服务器102对所述处理请求的响应信息;

第二接收发布模块32将第二传送订阅模块31获得的所述响应信息向信息队列组件20发布。内网客户端30的第二传送订阅模块31将所述处理请求传送到网服务器102,并根据处理请求的内容访问内网服务器102,如下载内部网络的文件等。

步骤S404包括:

第一传送订阅模块31向信息队列组件20订阅内部服务器102对所述处理请求的响应信息;

信息队列订阅模块22接收第一传送订阅模块31的订阅;

信息队列发布模块21接收第二接收发布模块32向信息队列组件20发布的所述响应信息,并将所述响应信息在信息队列组件20的消息队列中发布;

信息队列订阅模块22在信息队列发布模块21将所述响应信息发布后,将所述响应信息传送到代理服务器10;

代理服务器10为了获得内部服务器102对所述处理请求的响应信息,需要通过第一传送订阅模块31向信息队列组件20订阅;最后由信息队列订阅模块22在信息队列发布模块21将所述响应信息发布后,将所述响应信息传送到代理服务器10。

步骤S405包括:

第一传送订阅模块12将订阅获得的所述响应信息传送到客户机101。最终代理服务器10的第一传送订阅模块12将订阅获得的所述响应信息传送到客户机101,客户机101获得所述响应信息,由此完成反向代理。

可选的,代理服务器10还包括WAN接口13,WAN接口13通过所述外部网络的IP地址与所述外部网络连接;内网客户端30还包括LAN接口33,LAN接口33通过所述内网服务器IP地址与所述内部网络连接。

所述外部网络为广域网;所述代理服务器为WEB服务器或者云服务器;所述客户机101为所述外部网络的服务器或者客户端;信息队列组件20包括rabbitmq消息中间组件。

参见图5,在本发明的一个实施例中,提供了适用反向代理系统100的反向代理的方法,该方法的应用场景是从WAN Service(外部网络)发起的请求(request)访问内网LANService(内部网络服务器)并拿到response(响应)流程,具体如下:

1、WAN service通过proxy(代理服务器)发起request(请求);

2、Proxy收到request,并将request发布(pub)到消息队列;

3、Client(内部网络客户端)订阅(sub)消息队列,接收到request;

4、Client正常访问LAN Service,获取到response;

5、Client将response发布(pub)到消息队列;

6、Proxy从消息队列订阅(sub)response;

7、Proxy将response返回给WAN Service;

在该实施例中,消息队列是一个公网服务,WAN和LAN中的服务只需要通过订阅发布Sub/Pub的模式将数据写入消息队列,整个代理过程中无需涉及其他公网服务,安全性高。

此外,为了实现本发明的另一发明目的,本发明还提供了一种代理服务器10,其特征在于,代理服务器10为用于上述任意一个实施例中的反向代理系统100的代理服务器10。

为了实现本发明的另一发明目的,本发明还提供了一种内网客户端30,内网客户端30为用于上述任意一个实施例中的反向代理系统100的内网客户端30。

为了实现本发明的另一发明目的,本发明还提供了一种存储用于执行上述任意一种方法的计算机程序。

为了实现本发明的另一发明目的,本发明还提供了一种计算机设备400,包括存储介质200、处理器300以及存储在所述存储介质上并可在所述处理器300上运行的计算机程序,所述处理器300执行所述计算机程序时实现上述任一项所述的方法。

参见图6和图7,在本发明的一个实施例中,还提供了用于存储一种用于执行上述实施例中任意一种方法的计算机程序的存储介质200。以及一种计算机设备400,包括存储介质200、处理器300以及存储在所述存储介质200上并可在所述处理器300上运行的计算机程序,所述处理器300执行所述计算机程序时实现上述任一个实施例中的所述的方法。

本发明提供一种存储介质200,用于存储如图4所述任意一种方法的计算机程序。例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的存储介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输和/或被存储在根据程序指令运行的计算机设备的存储介质中。在此,根据本申请的一个实施例包括一个如图7所示的计算机设备400,所述计算机设备400优选包括用于存储计算机程序的存储介质200和用于执行计算机程序的处理器300,其中,当该计算机程序被该处理器300执行时,触发该计算机设备400执行基于前述多个实施例中的方法和/或技术方案。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

根据本发明的方法可以作为计算机实现方法在计算机上实现、或者在专用硬件中实现、或以两者的组合的方式实现。用于根据本发明的方法的可执行代码或其部分可以存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括存储在计算机可读介质上以便当所述程序产品在计算机上执行时执行根据本发明的方法的非临时程序代码部件。

在优选实施例中,计算机程序包括适合于当计算机程序在计算机上运行时执行根据本发明的方法的所有步骤的计算机程序代码部件。优选地,在计算机可读介质上体现计算机程序。

综上所述,本发明通过将反向代理系统设置为包括代理服务器、信息队列组件以及内网客户端,代理服务器,设置于所述外部网络上,并用于接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求传送到信息队列组件,以及向所述客户机返回所述内部服务器对所述处理请求的响应信息;信息队列组件设置于所述外部网络上,分别与所述代理服务器和所述内网客户端连接,所述信息队列组件用于将所述处理请求传送到所述内网客户端,以及将所述响应信息传送到所述代理服务器;内网客户端设置于所述内部网络上,所述内网客户端用于根据所述处理请求访问所述内部服务器,并将获得的所述内部服务器对所述处理请求的响应信息传送到所述信息队列组件。由此,由于反向代理系统的代理服务器整体是设置在外部网络上,其通过信息队列组件与内部网络的内部客户端交互信息,代理服务器不需要采用外部网络的IP资源,安全性更高,反向代理系统未暴露内部网络安全的攻击面,使得使用本发明提供的反向代理系统、方法及其装置实现的反向代理的访问方式更为安全,而且其部署简单,操作方便。

本发明公开了A1、一种反向代理系统,用于代理外部网络的客户机访问内部网络的内部服务器,包括:

代理服务器,设置于所述外部网络上,通过所述外部网络的IP地址与所述外部网络连接;所述代理服务器用于接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求传送到信息队列组件,以及向所述客户机返回所述内部服务器对所述处理请求的响应信息;

信息队列组件,设置于所述外部网络上,分别与所述代理服务器和所述内网客户端连接,所述信息队列组件用于将所述处理请求传送到所述内网客户端,以及将所述响应信息传送到所述代理服务器;

内网客户端,设置于所述内部网络上,通过所述内部网络的IP地址与所述内部服务器连接;所述内网客户端用于根据所述处理请求访问所述内部服务器,并将获得的所述内部服务器对所述处理请求的响应信息传送到所述信息队列组件。

A2、根据A1所述的反向代理系统,所述代理服务器包括:

第一接收发布模块,用于接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求向所述信息队列组件发布;

第一传送订阅模块,用于向所述信息队列组件订阅所述内部服务器对所述处理请求的响应信息;以及将订阅获得的所述响应信息传送到所述客户机。

A3、根据A2所述的反向代理系统,所述信息队列组件包括:

信息队列发布模块,用于接收所述代理服务器向所述信息队列组件发布的所述处理请求,并将所述处理请求在所述信息队列组件的消息队列中发布;以及用于接收所述内网客户端向所述信息队列组件发布的所述响应信息,并将所述响应信息在所述信息队列组件的消息队列中发布;

信息队列订阅模块,用于接收所述内网客户端向所述信息队列组件订阅所述处理请求的请求,并在所述处理请求发布后,将所述处理请求传送到所述内网客户端;以及接收所述代理服务器向所述信息队列组件订阅所述响应信息的请求,并在所述响应信息发布后,将所述响应信息传送到所述代理服务器。

A4、根据A3所述的反向代理系统,所述内网客户端包括:

第二传送订阅模块,用于向所述信息队列组件订阅所述处理请求,并根据订阅获得的所述处理请求访问所述内网服务器,获得所述内部服务器对所述处理请求的响应信息;

第二接收发布模块,用于将第二传送订阅模块获得的所述响应信息向所述信息队列组件发布。

A5、根据A1所述的反向代理系统,所述代理服务器还包括:

WAN接口,用于与通过所述外部网络的IP地址与所述外部网络连接;

所述内网客户端还包括:

LAN接口,用于与通过所述内网服务器IP地址与所述内部网络连接。

A6、根据A1所述的反向代理系统,其特征在于,所述外部网络为广域网;所述代理服务器为WEB服务器或者云服务器;所述客户机为所述外部网络的服务器或者客户端;所述信息队列组件包括rabbitmq消息中间组件。

A7、根据A1所述的反向代理系统,所述处理请求包括:加载所述内部网络网页的请求、下载所述内部网络的文件的请求以及安全扫描所述内部网络的请求。

本发明还公开了B8、一种适用反向代理系统的反向代理的方法,所述反向代理系统用于代理外部网络的客户机访问内部网络的内部服务器,所述反向代理系统包括:设置于所述外部网络上,通过所述外部网络的IP地址与所述外部网络连接的代理服务器;设置于所述外部网络上,分别与所述代理服务器和所述内网客户端连接的信息队列组件;以及设置于所述内部网络上,通过所述内部网络的IP地址与所述内部服务器连接的内网客户端;所述方法包括:

所述代理服务器接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求传送到信息队列组件;

所述信息队列组件将所述处理请求传送到所述内网客户端;

所述内网客户端根据所述处理请求访问所述内部服务器,并将获得的所述内部服务器对所述处理请求的响应信息传送到所述信息队列组件;

所述信息队列组件将所述响应信息传送到所述代理服务器;

所述代理服务器向所述客户机返回所述内部服务器对所述处理请求的响应信息。

B9、根据B8所述的方法,所述代理服务器包括第一接收发布模块和第一传送订阅模块;所述信息队列组件包括信息队列发布模块和信息队列订阅模块;所述内网客户端包括第二传送订阅模块和第二接收发布模块;

所述代理服务器接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求传送到信息队列组件包括:

所述第一接收发布模块接收所述客户机发送的对所述内部服务器的处理请求,并将所述处理请求向所述信息队列组件发布;

所述信息队列组件将所述处理请求传送到所述内网客户端包括:

所述信息队列发布模块接收所述所述第一接收发布模块向所述信息队列组件发布的处理请求;

所述第二传送订阅模块向所述信息队列组件订阅所述处理请求;

所述信息队列订阅模块接收所述第二传送订阅模块的所述订阅,并在所述信息队列发布模块将所述处理请求在所述信息队列组件的消息队列中发布后,将所述处理请求传送到所述内网客户端。

B10、根据B9所述的方法,所述内网客户端根据所述处理请求访问所述内部服务器,并将获得的所述内部服务器对所述处理请求的响应信息传送到所述信息队列组件包括:

所述第二传送订阅模块根据订阅获得的所述处理请求访问所述内网服务器,并获得所述内部服务器对所述处理请求的响应信息;

所述第二接收发布模块将第二传送订阅模块获得的所述响应信息向所述信息队列组件发布。

B11、根据B10所述的方法,所述信息队列组件将所述响应信息传送到所述代理服务器包括:

所述第一传送订阅模块向所述信息队列组件订阅所述内部服务器对所述处理请求的响应信息;

所述信息队列订阅模块接收所述第一传送订阅模块的订阅;

所述信息队列发布模块接收所述第二接收发布模块向所述信息队列组件发布的所述响应信息,并将所述响应信息在所述信息队列组件的消息队列中发布;

所述信息队列订阅模块在所述信息队列发布模块将所述响应信息发布后,将所述响应信息传送到所述代理服务器;

所述代理服务器向所述客户机返回所述内部服务器对所述处理请求的响应信息包括:

第一传送订阅模块将订阅获得的所述响应信息传送到所述客户机。

B12、根据B8所述的方法,所述代理服务器还包括WAN接口,所述WAN接口通过所述外部网络的IP地址与所述外部网络连接;

所述内网客户端还包括LAN接口,所述LAN接口通过所述内网服务器IP地址与所述内部网络连接。

B13、根据B8所述的方法,所述外部网络为广域网;所述代理服务器为WEB服务器或者云服务器;所述客户机为所述外部网络的服务器或者客户端;所述信息队列组件包括rabbitmq消息中间组件。

B14、根据B8所述的方法,所述处理请求包括:加载所述内部网络网页的请求、下载所述内部网络的文件的请求以及安全扫描所述内部网络的请求。

本发明还公开了C15、一种代理服务器,所述代理服务器为用于权利要求A1~A7任意一项所述的反向代理系统的代理服务器。

本发明还公开了D16、一种内网客户端,其特征在于,所述内网客户端为用于A1~A7任意一项所述的反向代理系统的内网客户端。

本发明还公开了D17、一种存储介质,用于存储一种用于执行B8~B14中任意一种方法的计算机程序。

本发明还公开了E18、一种计算机设备,包括存储介质、处理器以及存储在所述存储介质上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现B8~B14任一项所述的方法。

相关技术
  • 反向代理方法、装置及存储介质、分布式系统
  • 存储设备测试方法、存储设备测试系统及存储介质
  • 存储方法、存储系统、电子设备及存储介质
  • 存储设备的系统重置方法、装置、系统及可读存储介质
  • 网络设备系统、网络设备系统的实现方法以及计算机可读存储介质
  • 动态反向代理方法、装置、反向代理系统、设备及介质
  • 一种autossh反向代理检测方法、系统、设备及可读存储介质
技术分类

06120116076181