一种分布式反向代理服务端和客户端的方法、装置及系统与流程

文档序号:12753080阅读:199来源:国知局
一种分布式反向代理服务端和客户端的方法、装置及系统与流程

本申请涉及通信技术领域,尤其涉及一种分布式反向代理服务端和客户端方法、装置及系统。



背景技术:

随着网络技术的发展和普及,每个家庭通常都有大量的智能网络设备,通过家庭网关连接到互联网。对于家庭网关内部的网络设备,外网客户端通常都无法直接访问。因此需要通过反向代理服务器,以便外网其他客户端(例如智能手机)能够访问家庭内部设备。

反向代理(英文:Reverse Proxy)是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。

这种反向代理服务器通常同时具备内网IP和公网IP,部署在内部网络的出口边缘,即可以访问内部网络的设备和服务,同时也提供了外网IP接收Internet访问请求。

当前的反向代理存在如下缺陷:家庭内部部署反向代理服务器的成本较高,家庭的公网IP通常被家庭网关占用,反向代理服务器也无法直接暴露在公网,另外家庭通常是拨号上网,公网IP不固定,外部无法方便连接,并且客户端在异地异网,则连接链路质量得不到保证,用户体验差。



技术实现要素:

本发明实施例提供了一种分布式反向代理服务端和客户端方法、装置及系统,用以解决现有技术中代理服务器的部署成本较高,用户使用便捷性价差的问题。

其具体的技术方案如下:

一种反向代理服务端方法,所述方法包括:

反向代理服务端通过公共端口接接收用户端发送的新连接请求;

根据所述新连接请求,向反向代理客户端发送会话控制指令,其中,所述会话控制指令用于请求建立会话通道;

接收所述反向代理客户端基于所述会话控制指令返回响应信息,并基于所述响应信息建立与所述反向代理客户端的会话通道。

可选的,在反向代理服务端通过公共端口接收用户端发送的新连接请求之前,所述方法还包括:

接收所述反向代理客户端发送的代理注册请求;

根据所述代理注册请求,向所述反向代理客户端分配代理资源,其中,所述代理资源包括公共端口以及数据端口;

将包含所述代理资源的注册请求结果发送至所述反向代理客户端。

可选的,在基于所述响应信息建立与所述反向代理客户端的会话通道之后,所述方法还包括:

接收客户端发送的请求数据;

将所述请求数据通过所述会话通道发送至所述反向代理客户端,以使所述反向代理客户端将所述请求数据传输至内网服务器。

一种反向代理客户端方法,包括:

反向代理客户端接收反向代理服务端发送的会话控制指令;

根据所述会话控制指令,与所述反向代理服务端建立会话通道,并向所述反向代理服务端发送响应信息。

可选的,在反向代理客户端接收反向代理服务端发送的会话控制指令之前,所述方法还包括:

向所述反向代理服务端发送的代理注册请求;

接收所述反向代理服务端返回的包含代理资源的响应信息,其中,所述代理资源包括公共端口以及数据端口;

根据所述代理资源与所述反向代理服务端建立连接。

可选的,在向所述反向代理服务端发送响应信息之后,所述方法还包括:

接收所述反向代理服务端发送的处理数据;

将所述处理数据通过会话通道传输至内网服务器。

一种反向代理服务端装置,包括:

接收模块,用于通过公共端口接接收用户端发送的新连接请求;

发送模块,用于根据所述新连接请求,向反向代理客户端发送会话控制指令,其中,所述会话控制指令用于请求建立会话通道;

处理模块,用于接收所述反向代理客户端基于所述会话控制指令返回响应信息,并基于所述响应信息建立与所述反向代理客户端的会话通道。

可选的,所述接收模块,还用于接收所述反向代理客户端发送的代理注册请求;

所述处理模块,还用于根据所述代理注册请求,向所述反向代理客户端分配代理资源,其中,所述代理资源包括公共端口以及数据端口;

所述发送模块,还用于将包含所述代理资源的注册请求结果发送至所述反向代理客户端。

一种反向代理客户端装置,包括:

接收模块,用于接收反向代理服务端发送的会话控制指令;

处理模块,用于根据所述会话控制指令,与所述反向代理服务端建立会话通道,并向所述反向代理服务端发送响应信息。

一种反向代理服务器,包括:

反向代理服务端,用于反向代理服务端通过公共端口接接收用户端发送的新连接请求;根据所述新连接请求,向反向代理客户端发送会话控制指令,接收所述反向代理客户端基于所述会话控制指令返回响应信息,并基于所述响应信息建立与所述反向代理客户端的会话通道。

反向代理客户端,用于接收反向代理服务端发送的会话控制指令;根据所述会话控制指令,与所述反向代理服务端建立会话通道,并向所述反向代理服务端发送响应信息。

在本发明中,该反向代理可以通过全软件实现,实现简单,不需要涉及到操作系统网络通讯底层部分的修改;反向代理客户端可与内网应用服务部署在一起,不需要额外硬件设备;反向代理客户端不需要公网IP;反向代理服务端可以支持多个反向代理客户端;反向代理服务器可以支持BGP多线机房,解决终端和内网服务异地异网访问不畅的问题。

附图说明

图1为本发明实施例中一种反向代理服务端方法的流程图;

图2为本发明实施例中一种反向代理客户端方法的流程图;

图3为本发明实施例中反向代理服务器的实际应用场景示意图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。

实施例一:

如图1所示为本发明实施例中一种反向代理服务端方法的流程图,该方法包括:

S101,反向代理服务端通过公共端口接接收用户端发送的新连接请求;

S102,根据所述新连接请求,向反向代理客户端发送会话控制指令;

S103,接收所述反向代理客户端基于所述会话控制指令返回响应信息,并基于所述响应信息建立与所述反向代理客户端的会话通道。

具体来讲,在本发明实施例中,该方法应用于一代理服务器中,该代理服务器包含了反向代理客户端以及反向代理服务端,该反向代理客户端部署在内部网络中,反向代理服务端部署在公网中。

图1所示的方法应用到反向代理服务端中,在反向代理服务端与反向代理客户端进行通信之前,首先需要将反向代理客户端在反向代理服务端上进行注册。

具体来讲,反向代理服务端接收反向代理客户端发送的代理注册请求,反向代理服务端根据代理注册请求,为反向代理客户端分配代理资源,这里的代理资源包含了公共端口以及数据端口,公共端口用于与客户端连接,而数据端口用于反向代理服务端和反向代理客户端传输数据。

在反向代理服务端将代理资源分配完成之后,反向代理服务端将该包含了代理资源的注册请求结果发送至反向代理客户端,从而反向代理客户端可以基于该代理资源进行注册。在注册完成之后,反向代理客户端就完成代理资源的配置。

在反向代理客户端完成注册之后,外网中的客户端可以直接通过配置好的公共端口接入到反向代理服务端,在反向代理服务端接收到客户端发送的新连接请求时,反向代理服务端根据该新连接请求,向反向代理客户端发送会话控制指令,反向代理客户端基于该会话控制指令返回一个响应信息,从而反向代理服务端基于该响应信息与反向代理客户端建立会话通道。同理,反向代理客户端将与内网服务器建立会话通道。

在建立好会话通道之后,客户端传输的数据可以通过反向代理服务端传输至反向代理客户端,传输至反向代理客户端传输至内网服务器。同样,内网服务器中的数据可以通过反向代理客户端以及反向代理服务端传输至客户端。这样就解决了现有技术中家庭内部部署反向代理服务器的成本较高,家庭的公网IP通常被家庭网关占用,反向代理服务器也无法直接暴露在公网,另外家庭通常是拨号上网,公网IP不固定,外部无法方便连接,并且客户端在异地异网,则连接链路质量得不到保证,用户体验差的问题。

通过上述的方法,该反向代理可以通过全软件实现,实现简单,不需要涉及到操作系统网络通讯底层部分的修改;反向代理客户端可与内网应用服务部署在一起,不需要额外硬件设备;反向代理客户端不需要公网IP;反向代理服务端可以支持多个反向代理客户端;代理服务器可以支持BGP多线机房,解决终端和内网服务异地异网访问不畅的问题。

实施例二:

如图2所示为本发明实施例中一种反向代理客户端方法的流程图,该方法包括:

S201,反向代理客户端接收反向代理服务端发送的会话控制指令;

S202,根据会话控制指令,与反向代理服务端建立会话通道,并向反向代理服务端发送响应信息。

具体来讲,在本发明实施例中,该方法应用于一代理服务器中,该代理服务器包含了反向代理客户端以及反向代理服务端,该反向代理客户端部署在内部网络中,反向代理服务端部署在公网中。

图2所示的方法应用到反向代理客户端中,在反向代理服务端与反向代理客户端进行通信之前,首先需要将反向代理客户端在反向代理服务端上进行注册。

具体来讲,反向代理客户端生成代理注册请求,并发送至反向代理服务端,反向代理服务端接收反向代理客户端发送的代理注册请求,并根据代理注册请求,为反向代理客户端分配代理资源,这里的代理资源包含了公共端口以及数据端口,公共端口用于与客户端连接,而数据端口用于反向代理服务端和反向代理客户端传输数据。

在反向代理服务端将代理资源分配完成之后,反向代理服务端将该包含了代理资源的注册请求结果发送至反向代理客户端,从而反向代理客户端可以基于该代理资源进行注册。在注册完成之后,反向代理客户端就完成代理资源的配置。

在反向代理客户端完成注册之后,外网中的客户端可以直接通过配置好的公共端口接入到反向代理服务端,在反向代理服务端接收到客户端发送的新连接请求时,反向代理服务端根据该新连接请求,向反向代理客户端发送会话控制指令,反向代理客户端基于该会话控制指令返回一个响应信息,从而反向代理服务端基于该响应信息与反向代理客户端建立会话通道。同理,反向代理客户端将与内网服务器建立会话通道。

在建立好会话通道之后,客户端传输的数据可以通过反向代理服务端传输至反向代理客户端,传输至反向代理客户端传输至内网服务器。同样,内网服务器中的数据可以通过反向代理客户端以及反向代理服务端传输至客户端。这样就解决了现有技术中家庭内部部署反向代理服务器的成本较高,家庭的公网IP通常被家庭网关占用,反向代理服务器也无法直接暴露在公网,另外家庭通常是拨号上网,公网IP不固定,外部无法方便连接,并且客户端在异地异网,则连接链路质量得不到保证,用户体验差的问题。

通过上述的方法,该反向代理可以通过全软件实现,实现简单,不需要涉及到操作系统网络通讯底层部分的修改;反向代理客户端可与内网应用服务部署在一起,不需要额外硬件设备;反向代理客户端不需要公网IP;反向代理服务端可以支持多个反向代理客户端;代理服务器可以支持BGP多线机房,解决终端和内网服务异地异网访问不畅的问题。

实施例三:

如图3所示为本发实施例中,一种反向代理服务器的使用场景图,该反向代理服务器包含反向代理服务端301以及反向代理客户端302。

反向代理服务端302,用于通过公共端口接接收用户端发送的新连接请求;根据所述新连接请求,向反向代理客户端302发送会话控制指令,接收所述反向代理客户端302基于所述会话控制指令返回响应信息,并基于所述响应信息建立与所述反向代理客户端302的会话通道;

反向代理客户端302,用于接收反向代理服务端301发送的会话控制指令;根据所述会话控制指令,与所述反向代理服务端301建立会话通道,并向所述反向代理服务端301发送响应信息。

具体来讲,反向代理客户端302生成代理注册请求,并发送至反向代理服务端301,反向代理服务端301接收反向代理客户端302发送的代理注册请求,并根据代理注册请求,为反向代理客户端302分配代理资源,这里的代理资源包含了公共端口以及数据端口,公共端口用于与客户端连接,而数据端口用于反向代理服务端和反向代理客户端传输数据。

在反向代理服务端301将代理资源分配完成之后,反向代理服务端301将该包含了代理资源的注册请求结果发送至反向代理客户端302,从而反向代理客户端302可以基于该代理资源进行注册。在注册完成之后,反向代理客户端302就完成代理资源的配置。

在反向代理客户端302完成注册之后,外网中的客户端可以直接通过配置好的公共端口接入到反向代理服务端301,在反向代理服务端301接收到客户端发送的新连接请求时,反向代理服务端301根据该新连接请求,向反向代理客户端302发送会话控制指令,反向代理客户端302基于该会话控制指令返回一个响应信息,从而反向代理服务端301基于该响应信息与反向代理客户端302建立会话通道。同理,反向代理客户302端将与内网服务器建立会话通道。

在建立好会话通道之后,客户端传输的数据可以通过反向代理服务端301传输至反向代理客户端302,传输至反向代理客户端302传输至内网服务器。同样,内网服务器中的数据可以通过反向代理客户端302以及反向代理服务端301传输至客户端。这样就解决了现有技术中家庭内部部署反向代理服务器的成本较高,家庭的公网IP通常被家庭网关占用,反向代理服务器也无法直接暴露在公网,另外家庭通常是拨号上网,公网IP不固定,外部无法方便连接,并且客户端在异地异网,则连接链路质量得不到保证,用户体验差的问题。

通过上述的方法,该反向代理可以通过全软件实现,实现简单,不需要涉及到操作系统网络通讯底层部分的修改;反向代理客户端可与内网应用服务部署在一起,不需要额外硬件设备;反向代理客户端不需要公网IP;反向代理服务端可以支持多个反向代理客户端;反向代理服务器可以支持BGP多线机房,解决终端和内网服务异地异网访问不畅的问题。

实施例四:

对应本发明实施例一中的一种反向代理方法,本发明实施例中还提供了一种反向代理服务端装置,该装置包括:

接收模块,用于通过公共端口接接收用户端发送的新连接请求;

发送模块,用于根据所述新连接请求,向反向代理客户端发送会话控制指令,其中,所述会话控制指令用于请求建立会话通道;

处理模块,用于接收所述反向代理客户端基于所述会话控制指令返回响应信息,并基于所述响应信息建立与所述反向代理客户端的会话通道。

进一步,所述接收模块,还用于接收所述反向代理客户端发送的代理注册请求;

所述处理模块,还用于根据所述代理注册请求,向所述反向代理客户端分配代理资源,其中,所述代理资源包括公共端口以及数据端口;

所述发送模块,还用于将包含所述代理资源的注册请求结果发送至所述反向代理客户端。

具体来讲,该装置可以是实施例三中的反向代理服务器的反向代理服务端,具体功能实现在此处就不再赘述。

实施例五:

对应本发明实施例二中的一种反向代理方法,本发明实施例中还提供了一种反向代理客户端装置,该装置包括:

接收模块,用于接收反向代理服务端发送的会话控制指令;

处理模块,用于根据所述会话控制指令,与所述反向代理服务端建立会话通道,并向所述反向代理服务端发送响应信息。

具体来讲,该装置可以是实施例三中的反向代理服务器的反向代理客户端,具体功能实现在此处就不再赘述。

尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1