发明内容
针对上述现有技术中的不足,本发明提供了一种增强安全性的网络代理实现方法,
本发明的目的是提供一种新的服务代理模型,代理服务器只扮演服务器一种角色,服务器作为客户端向代理服务器注册服务,客户端向代理服务器请求服务,服务器与客户端向代理服务器发起连接,代理服务器为客户端和服务器建立安全的数据通道,达到了服务器不开启任何服务端口,也能让客户端与服务器建立通信连接的效果,从而保证服务器的安全,
一种增强安全性的网络代理实现方法,其特征在于增强步骤包括:
步骤1:如图2:服务器向代理服务器发起一条控制连接,此控制连接是一条长连接,不会断开,一直存在;
步骤2:如图2:服务器通过控制连接向代理服务器发起一条服务注册消息,服务注册消息包含服务类型和服务器ID,
步骤3:如图2:代理服务器接收控制连接上的服务注册消息,并将服务注册消息与控制连接建立映射关系,保存在内存中;
所述第二阶段:代理服务器为客户端与服务器建立数据通道阶段;
步骤4:如图2客户端向代理服务器发起连接1
步骤5:如图2客户端通过向代理服务器发送请求服务消息,消息包含服务类型和服务器ID;
步骤6:代理服务器解析客户端请求服务消息,根据服务消息中的服务类型和服务器ID,在步骤3中映射表中查找服务类型和服务器ID对应的控制连接,如果没有找到控制连接,说明服务器未注册,代理服务器给客户端回应一个数据通道建立失败消息,错误描述信息为服务器不存在,如果能找到控制连接,接着步骤7往下执行,
步骤7:如图2代理服务器通过控制连接向服务器发送新建数据连接控制消息,此新建数据连接控制消息包含客户端的IP和端口二元组信息,
步骤8: 如图2服务器收到新建数据连接控制消息之后,向代理服务器发起数据连接;
步骤9:如图2:服务器通过数据连接向代理服务器发送客户端关联消息,此消息包含步骤7的客户端IP和端口二元组信息;
步骤10:如图2代理服务器通过数据连接接收客户端关联消息,将数据连接与连接1建立关联映射,并保存到内存中;
步骤11:如图2代理服务器通过连接1向客户端发送数据通道建立成功消息;
步骤12:如图2客户端通过连接1向代理服务器请求数据,
步骤13:如图2代理服务器通过步骤10中的映射找到数据连接,通过数据连接向服务器发送请求数据,
步骤14:如图2服务器将请求结果通过数据连接发送给代理服务器,
步骤15:如图2代理服务器通过步骤10中的映射找到连接1将请求结果发送给客户端。
所述第一阶段为服务器向代理服务器注册服务阶段其涉及步骤1-3。
所述第二阶段为代理服务器为客户端与服务器建立数据通道阶段其包括步骤4-11。
所述第三阶段为客户端,代理服务器,服务器正常业务交互阶段其涉及步骤12-15。
所述步骤1中涉及到的控制连接用于服务器与代理服务器之间相互传递控制消息。
本发明的有益效果:
1.本发明通过改变代理服务器与服务器的通信方式,将原先代理服务器作为客户端主动连接服务器改为将服务器作为客户端,主动向代理服务器注册服务的方式,修改过后的通信方式,服务器不需要对外提供端口,还可以向客户端提供服务,增加了服务器的安全,
2.本发明提出的技术方案中代理服务器分别为客户端和服务器提供代理端口,服务器不再需要对外提供服务端口,改变代理服务器和服务器的通信方式,与原有代理模式相比,系统性能并未改变,还增加了服务器的安全性。
具体实施方式:
实施例1:
一种增强安全性的网络代理实现方法,其特征在于增强步骤包括:
步骤1:如图2:服务器向代理服务器发起一条控制连接,此控制连接是一条长连接,不会断开,一直存在;
步骤2:如图2:服务器通过控制连接向代理服务器发起一条服务注册消息,服务注册消息包含服务类型和服务器ID,
步骤3:如图2:代理服务器接收控制连接上的服务注册消息,并将服务注册消息与控制连接建立映射关系,保存在内存中;
所述第二阶段:代理服务器为客户端与服务器建立数据通道阶段;
步骤4:如图2客户端向代理服务器发起连接1
步骤5:如图2客户端通过向代理服务器发送请求服务消息,消息包含服务类型和服务器ID;
步骤6:代理服务器解析客户端请求服务消息,根据服务消息中的服务类型和服务器ID,在步骤3中映射表中查找服务类型和服务器ID对应的控制连接,如果没有找到控制连接,说明服务器未注册,代理服务器给客户端回应一个数据通道建立失败消息,错误描述信息为服务器不存在,如果能找到控制连接,接着步骤7往下执行,
步骤7:如图2代理服务器通过控制连接向服务器发送新建数据连接控制消息,此新建数据连接控制消息包含客户端的IP和端口二元组信息,
步骤8: 如图2服务器收到新建数据连接控制消息之后,向代理服务器发起数据连接;
步骤9:如图2:服务器通过数据连接向代理服务器发送客户端关联消息,此消息包含步骤7的客户端IP和端口二元组信息;
步骤10:如图2代理服务器通过数据连接接收客户端关联消息,将数据连接与连接1建立关联映射,并保存到内存中;
步骤11:如图2代理服务器通过连接1向客户端发送数据通道建立成功消息;
步骤12:如图2客户端通过连接1向代理服务器请求数据,
步骤13:如图2代理服务器通过步骤10中的映射找到数据连接,通过数据连接向服务器发送请求数据,
步骤14:如图2服务器将请求结果通过数据连接发送给代理服务器,
步骤15:如图2代理服务器通过步骤10中的映射找到连接1将请求结果发送给客户端。
实施例2:
一种增强安全性的网络代理实现方法,其特征在于增强步骤包括:
步骤1:如图2:服务器向代理服务器发起一条控制连接,此控制连接是一条长连接,不会断开,一直存在;
步骤2:如图2:服务器通过控制连接向代理服务器发起一条服务注册消息,服务注册消息包含服务类型和服务器ID,
步骤3:如图2:代理服务器接收控制连接上的服务注册消息,并将服务注册消息与控制连接建立映射关系,保存在内存中;
所述第二阶段:代理服务器为客户端与服务器建立数据通道阶段;
步骤4:如图2客户端向代理服务器发起连接1
步骤5:如图2客户端通过向代理服务器发送请求服务消息,消息包含服务类型和服务器ID;
步骤6:代理服务器解析客户端请求服务消息,根据服务消息中的服务类型和服务器ID,在步骤3中映射表中查找服务类型和服务器ID对应的控制连接,如果没有找到控制连接,说明服务器未注册,代理服务器给客户端回应一个数据通道建立失败消息,错误描述信息为服务器不存在,如果能找到控制连接,接着步骤7往下执行,
步骤7:如图2代理服务器通过控制连接向服务器发送新建数据连接控制消息,此新建数据连接控制消息包含客户端的IP和端口二元组信息,
步骤8: 如图2服务器收到新建数据连接控制消息之后,向代理服务器发起数据连接;
步骤9:如图2:服务器通过数据连接向代理服务器发送客户端关联消息,此消息包含步骤7的客户端IP和端口二元组信息;
步骤10:如图2代理服务器通过数据连接接收客户端关联消息,将数据连接与连接1建立关联映射,并保存到内存中;
步骤11:如图2代理服务器通过连接1向客户端发送数据通道建立成功消息;
步骤12:如图2客户端通过连接1向代理服务器请求数据,
步骤13:如图2代理服务器通过步骤10中的映射找到数据连接,通过数据连接向服务器发送请求数据,
步骤14:如图2服务器将请求结果通过数据连接发送给代理服务器,
步骤15:如图2代理服务器通过步骤10中的映射找到连接1将请求结果发送给客户端。
所述第二阶段为代理服务器为客户端与服务器建立数据通道阶段其包括步骤4-11。
实施例3:
一种增强安全性的网络代理实现方法,其特征在于增强步骤包括:
步骤1:如图2:服务器向代理服务器发起一条控制连接,此控制连接是一条长连接,不会断开,一直存在;
步骤2:如图2:服务器通过控制连接向代理服务器发起一条服务注册消息,服务注册消息包含服务类型和服务器ID,
步骤3:如图2:代理服务器接收控制连接上的服务注册消息,并将服务注册消息与控制连接建立映射关系,保存在内存中;
所述第二阶段:代理服务器为客户端与服务器建立数据通道阶段;
步骤4:如图2客户端向代理服务器发起连接1
步骤5:如图2客户端通过向代理服务器发送请求服务消息,消息包含服务类型和服务器ID;
步骤6:代理服务器解析客户端请求服务消息,根据服务消息中的服务类型和服务器ID,在步骤3中映射表中查找服务类型和服务器ID对应的控制连接,如果没有找到控制连接,说明服务器未注册,代理服务器给客户端回应一个数据通道建立失败消息,错误描述信息为服务器不存在,如果能找到控制连接,接着步骤7往下执行,
步骤7:如图2代理服务器通过控制连接向服务器发送新建数据连接控制消息,此新建数据连接控制消息包含客户端的IP和端口二元组信息,
步骤8: 如图2服务器收到新建数据连接控制消息之后,向代理服务器发起数据连接;
步骤9:如图2:服务器通过数据连接向代理服务器发送客户端关联消息,此消息包含步骤7的客户端IP和端口二元组信息;
步骤10:如图2代理服务器通过数据连接接收客户端关联消息,将数据连接与连接1建立关联映射,并保存到内存中;
步骤11:如图2代理服务器通过连接1向客户端发送数据通道建立成功消息;
步骤12:如图2客户端通过连接1向代理服务器请求数据,
步骤13:如图2代理服务器通过步骤10中的映射找到数据连接,通过数据连接向服务器发送请求数据,
步骤14:如图2服务器将请求结果通过数据连接发送给代理服务器,
步骤15:如图2代理服务器通过步骤10中的映射找到连接1将请求结果发送给客户端。
所述第一阶段为服务器向代理服务器注册服务阶段其涉及步骤1-3。
所述第二阶段为代理服务器为客户端与服务器建立数据通道阶段其包括步骤4-11。
所述第三阶段为客户端,代理服务器,服务器正常业务交互阶段其涉及步骤12-15。
所述步骤1中涉及到的控制连接用于服务器与代理服务器之间相互传递控制消息。
实施例4:
一种增强安全性的网络代理实现方法,其特征在于增强步骤包括:
步骤1:如图2:服务器向代理服务器发起一条控制连接,此控制连接是一条长连接,不会断开,一直存在;
步骤2:如图2:服务器通过控制连接向代理服务器发起一条服务注册消息,服务注册消息包含服务类型和服务器ID,
步骤3:如图2:代理服务器接收控制连接上的服务注册消息,并将服务注册消息与控制连接建立映射关系,保存在内存中;
所述第二阶段:代理服务器为客户端与服务器建立数据通道阶段;
步骤4:如图2客户端向代理服务器发起连接1
步骤5:如图2客户端通过向代理服务器发送请求服务消息,消息包含服务类型和服务器ID;
步骤6:代理服务器解析客户端请求服务消息,根据服务消息中的服务类型和服务器ID,在步骤3中映射表中查找服务类型和服务器ID对应的控制连接,如果没有找到控制连接,说明服务器未注册,代理服务器给客户端回应一个数据通道建立失败消息,错误描述信息为服务器不存在,如果能找到控制连接,接着步骤7往下执行,
步骤7:如图2代理服务器通过控制连接向服务器发送新建数据连接控制消息,此新建数据连接控制消息包含客户端的IP和端口二元组信息,
步骤8: 如图2服务器收到新建数据连接控制消息之后,向代理服务器发起数据连接;
步骤9:如图2:服务器通过数据连接向代理服务器发送客户端关联消息,此消息包含步骤7的客户端IP和端口二元组信息;
步骤10:如图2代理服务器通过数据连接接收客户端关联消息,将数据连接与连接1建立关联映射,并保存到内存中;
步骤11:如图2代理服务器通过连接1向客户端发送数据通道建立成功消息;
步骤12:如图2客户端通过连接1向代理服务器请求数据,
步骤13:如图2代理服务器通过步骤10中的映射找到数据连接,通过数据连接向服务器发送请求数据,
步骤14:如图2服务器将请求结果通过数据连接发送给代理服务器,
步骤15:如图2代理服务器通过步骤10中的映射找到连接1将请求结果发送给客户端。
所述第三阶段为客户端,代理服务器,服务器正常业务交互阶段其涉及步骤12-15。
所述步骤1中涉及到的控制连接用于服务器与代理服务器之间相互传递控制消息。
实施例5:
一种增强安全性的网络代理实现方法,其特征在于增强步骤包括:
步骤1:如图2:服务器向代理服务器发起一条控制连接,此控制连接是一条长连接,不会断开,一直存在;
步骤2:如图2:服务器通过控制连接向代理服务器发起一条服务注册消息,服务注册消息包含服务类型和服务器ID,
步骤3:如图2:代理服务器接收控制连接上的服务注册消息,并将服务注册消息与控制连接建立映射关系,保存在内存中;
所述第二阶段:代理服务器为客户端与服务器建立数据通道阶段;
步骤4:如图2客户端向代理服务器发起连接1
步骤5:如图2客户端通过向代理服务器发送请求服务消息,消息包含服务类型和服务器ID;
步骤6:代理服务器解析客户端请求服务消息,根据服务消息中的服务类型和服务器ID,在步骤3中映射表中查找服务类型和服务器ID对应的控制连接,如果没有找到控制连接,说明服务器未注册,代理服务器给客户端回应一个数据通道建立失败消息,错误描述信息为服务器不存在,如果能找到控制连接,接着步骤7往下执行,
步骤7:如图2代理服务器通过控制连接向服务器发送新建数据连接控制消息,此新建数据连接控制消息包含客户端的IP和端口二元组信息,
步骤8: 如图2服务器收到新建数据连接控制消息之后,向代理服务器发起数据连接;
步骤9:如图2:服务器通过数据连接向代理服务器发送客户端关联消息,此消息包含步骤7的客户端IP和端口二元组信息;
步骤10:如图2代理服务器通过数据连接接收客户端关联消息,将数据连接与连接1建立关联映射,并保存到内存中;
步骤11:如图2代理服务器通过连接1向客户端发送数据通道建立成功消息;
步骤12:如图2客户端通过连接1向代理服务器请求数据,
步骤13:如图2代理服务器通过步骤10中的映射找到数据连接,通过数据连接向服务器发送请求数据,
步骤14:如图2服务器将请求结果通过数据连接发送给代理服务器,
步骤15:如图2代理服务器通过步骤10中的映射找到连接1将请求结果发送给客户端。
所述第一阶段为服务器向代理服务器注册服务阶段其涉及步骤1-3。
所述第二阶段为代理服务器为客户端与服务器建立数据通道阶段其包括步骤4-11。
所述步骤1中涉及到的控制连接用于服务器与代理服务器之间相互传递控制消息。
实施例6:
一种增强安全性的网络代理实现方法,其特征在于增强步骤包括:
步骤1:如图2:服务器向代理服务器发起一条控制连接,此控制连接是一条长连接,不会断开,一直存在;
步骤2:如图2:服务器通过控制连接向代理服务器发起一条服务注册消息,服务注册消息包含服务类型和服务器ID,
步骤3:如图2:代理服务器接收控制连接上的服务注册消息,并将服务注册消息与控制连接建立映射关系,保存在内存中;
所述第二阶段:代理服务器为客户端与服务器建立数据通道阶段;
步骤4:如图2客户端向代理服务器发起连接1
步骤5:如图2客户端通过向代理服务器发送请求服务消息,消息包含服务类型和服务器ID;
步骤6:代理服务器解析客户端请求服务消息,根据服务消息中的服务类型和服务器ID,在步骤3中映射表中查找服务类型和服务器ID对应的控制连接,如果没有找到控制连接,说明服务器未注册,代理服务器给客户端回应一个数据通道建立失败消息,错误描述信息为服务器不存在,如果能找到控制连接,接着步骤7往下执行,
步骤7:如图2代理服务器通过控制连接向服务器发送新建数据连接控制消息,此新建数据连接控制消息包含客户端的IP和端口二元组信息,
步骤8: 如图2服务器收到新建数据连接控制消息之后,向代理服务器发起数据连接;
步骤9:如图2:服务器通过数据连接向代理服务器发送客户端关联消息,此消息包含步骤7的客户端IP和端口二元组信息;
步骤10:如图2代理服务器通过数据连接接收客户端关联消息,将数据连接与连接1建立关联映射,并保存到内存中;
步骤11:如图2代理服务器通过连接1向客户端发送数据通道建立成功消息;
步骤12:如图2客户端通过连接1向代理服务器请求数据,
步骤13:如图2代理服务器通过步骤10中的映射找到数据连接,通过数据连接向服务器发送请求数据,
步骤14:如图2服务器将请求结果通过数据连接发送给代理服务器,
步骤15:如图2代理服务器通过步骤10中的映射找到连接1将请求结果发送给客户端。
所述第一阶段为服务器向代理服务器注册服务阶段其涉及步骤1-3。
所述第二阶段为代理服务器为客户端与服务器建立数据通道阶段其包括步骤4-11。
所述第三阶段为客户端,代理服务器,服务器正常业务交互阶段其涉及步骤12-15。
所述步骤1中涉及到的控制连接用于服务器与代理服务器之间相互传递控制消息。