一种服务器代理方法、装置、设备及计算机可读存储介质与流程

文档序号:27692277发布日期:2021-12-01 03:46阅读:83来源:国知局
一种服务器代理方法、装置、设备及计算机可读存储介质与流程

1.本发明涉及通信领域,特别是涉及一种服务器代理方法,本发明还涉及一种服务器代理装置、设备及计算机可读存储介质。


背景技术:

2.为了提高安全性并实现负载均衡等功能,通常会在服务器与客户端设备之间设置代理设备,代理设备可以将客户端设备发送的合法的网络信息转发至服务器,然而代理设备通常通过自身的一种类型的端口处理指定的一种应用层协议对应的数据转发工作,随着私有应用层协议的广泛应用,这也导致代理设备对外开放的端口类型也越来越多,使得代理设备的安全性变差,且需要对开放的各种类型端口进行配置,工作量较大。
3.因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。


技术实现要素:

4.本发明的目的是提供一种服务器代理方法,使得代理设备减少了对外开放的端口类型的数量,提升了代理设备的安全性,且端口类型开放数量的减少也相应降低了配置工作的工作量;本发明的另一目的是提供一种服务器代理装置、设备及计算机可读存储介质,使得代理设备减少了对外开放的端口类型的数量,提升了代理设备的安全性,且端口类型开放数量的减少也相应降低了配置工作的工作量。
5.为解决上述技术问题,本发明提供了一种服务器代理方法,包括:
6.响应于客户端设备的访问请求,建立与所述客户端设备间的第一传输层连接;
7.通过所述第一传输层连接接收所述客户端设备发送的报文;
8.根据所述报文中的协议标志确定出所述报文所属的指定应用层协议;
9.通过所述指定应用层协议将所述客户端设备发送的报文转发至目标服务器。
10.优选地,所述通过所述指定应用层协议将客户端发送的报文转发至目标服务器具体为:
11.建立与目标服务器之间的第二传输层连接;
12.建立所述第一传输层连接与所述第二传输层连接间的对应关系;
13.将通过所述第一传输层连接接收到所述客户端设备发送的报文,基于所述第二传输层连接以及所述指定应用层协议转发至所述目标服务器;
14.该服务器代理方法还包括:
15.通过所述第二传输层连接接收所述目标服务器发送的响应报文;
16.基于所述第一传输层连接,将所述响应报文通过所述指定应用层协议转发至所述客户端设备。
17.优选地,所述通过所述第一传输层连接接收所述客户端设备发送的报文具体为:
18.通过所述第一传输层连接接收所述客户端设备发送的首个报文;
19.所述根据所述报文中的协议标志确定出所述报文所属的指定应用层协议具体为:
20.根据首个所述报文中的协议标识确定出所述报文所属的指定应用层协议。
21.优选地,所述根据所述报文中的协议标志确定出所述报文所属的指定应用层协议具体为:
22.获取首个所述报文的传输层负载中的协议标志;
23.将所述协议标志在预设协议标志库中进行匹配,确定出所述协议标志对应的指定应用层协议。
24.优选地,所述获取首个所述报文的传输层负载中的协议标志具体为:
25.从首个所述报文的传输层负载的前预设数量个字节中,获取协议标志。
26.优选地,所述第一传输层连接以及第二传输层连接均为传输控制协议tcp连接。
27.优选地,所述根据所述报文中的协议标志确定出所述报文所属的指定应用层协议之后,所述根据所述报文中的协议标志确定出所述报文所属的指定应用层协议之前,该服务器代理方法还包括:
28.判断所述指定应用层协议是否存在于预设的目标应用层协议集合内;
29.若存在,则执行所述通过所述指定应用层协议将所述客户端设备发送的报文转发至目标服务器的步骤;
30.若不存在,则丢弃所述客户端设备发送的报文。
31.为解决上述技术问题,本发明还提供了一种服务器代理装置,包括:
32.建立模块,用于响应于客户端设备的访问请求,建立与所述客户端设备间的第一传输层连接;
33.接收模块,用于通过所述第一传输层连接接收所述客户端设备发送的报文;
34.确定模块,用于根据所述报文中的协议标志确定出所述报文所属的指定应用层协议;
35.转发模块,用于通过所述指定应用层协议将所述客户端设备发送的报文转发至目标服务器。
36.为解决上述技术问题,本发明还提供了一种服务器代理设备,包括:
37.存储器,用于存储计算机程序;
38.处理器,用于执行所述计算机程序时实现如上所述服务器代理方法的步骤。
39.为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述服务器代理方法的步骤。
40.本发明提供了一种服务器代理方法,本技术中在接收到客户端设备发送的报文后,可以首先根据报文中的协议标志确定出报文所属的指定应用层协议,然后在通过该指定应用层协议将客户端设备发送的报文转发至目标服务器,由于本技术可以自主解析出报文所属的指定应用层协议,因此对于同一类型的端口来说便可以负责处理不同应用层协议的报文转发,使得代理设备减少了对外开放的端口类型的数量,提升了代理设备的安全性,且端口类型开放数量的减少也相应降低了配置工作的工作量。
41.本发明还提供了一种服务器代理装置、设备及计算机可读存储介质,具有如上服务器代理方法相同的有益效果。
附图说明
42.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明提供的一种服务器代理方法的流程示意图;
44.图2为本发明提供的一种服务器代理装置的结构示意图;
45.图3为本发明提供的一种服务器代理设备的结构示意图。
具体实施方式
46.本发明的核心是提供一种服务器代理方法,使得代理设备减少了对外开放的端口类型的数量,提升了代理设备的安全性,且端口类型开放数量的减少也相应降低了配置工作的工作量;本发明的另一核心是提供一种服务器代理装置、设备及计算机可读存储介质,使得代理设备减少了对外开放的端口类型的数量,提升了代理设备的安全性,且端口类型开放数量的减少也相应降低了配置工作的工作量。
47.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.请参考图1,图1为本发明提供的一种服务器代理方法的流程示意图,该服务器代理方法包括:
49.s101:响应于客户端设备的访问请求,建立与客户端设备间的第一传输层连接;
50.具体的,考虑到如上背景技术中的技术问题,又结合考虑到代理设备上的同一类型的端口目前已经可以支持多种类型的应用层协议的数据处理,因此本发明实施例中欲通过单一类型的端口对多种类型的应用层协议的数据进行处理,以便减少对外开放端口类型的数量的减少,提高代理设备的安全性。
51.具体的,为了能够从客户端设备顺利接收到报文,则需要响应于客户端设备的访问请求,建立与客户端设备间的第一传输层连接,也即经过三次握手建立第一传输层连接,以便作为后续步骤的实施基础。
52.s102:通过第一传输层连接接收客户端设备发送的报文;
53.具体的,本步骤中可以基于建立好的第一传输层连接接收客户端设备发送的报文,此时的报文是客户端设备主动发送的,代理设备自身并不知道接收到的报文所采用的应用层协议是哪一种。
54.其中,接收到的报文可以作为后续步骤的数据基础。
55.s103:根据报文中的协议标志确定出报文所属的指定应用层协议;
56.具体的,考虑到无论是哪种类型的应用层协议的报文,在报文中都会存在协议标志,或者称之为特征字段,其可以反映该报文所属的指定应用层协议,因此本发明实施例中可以根据报文中的协议标志确定出报文所属的指定应用层协议,以便将其作为后续步骤的数据基础。
57.其中,应用层协议可以为多种类型,例如可以为http、https以及其他各种类型的协议等,本发明实施例在此不做限定。
58.s104:通过指定应用层协议将客户端设备发送的报文转发至目标服务器。
59.具体的,在解析出的指定应用层协议的基础上,本发明实施例便可以通过指定应用层协议将客户端设备发送的报文转发至目标服务器,由于通过某一端口在接收客户端设备发送的应用层协议未知的报文后,本发明实施例可以自主解析出其中的指定应用层协议,然后通过该指定应用层协议将客户端设备发送的报文转发至目标服务器,从而实现了通过一种类型的端口处理多种类型应用层协议的报文处理工作,以便减少代理设备对外开放端口类型的数量,提高了代理设备的安全性。
60.本发明提供了一种服务器代理方法,本技术中在接收到客户端设备发送的报文后,可以首先根据报文中的协议标志确定出报文所属的指定应用层协议,然后在通过该指定应用层协议将客户端设备发送的报文转发至目标服务器,由于本技术可以自主解析出报文所属的指定应用层协议,因此对于同一类型的端口来说便可以负责处理不同应用层协议的报文转发,使得代理设备减少了对外开放的端口类型的数量,提升了代理设备的安全性,且端口类型开放数量的减少也相应降低了配置工作的工作量。
61.在上述实施例的基础上:
62.作为一种优选的实施例,通过指定应用层协议将客户端发送的报文转发至目标服务器具体为:
63.建立与目标服务器之间的第二传输层连接;
64.建立第一传输层连接与第二传输层连接间的对应关系;
65.将通过第一传输层连接接收到客户端设备发送的报文,基于第二传输层连接以及指定应用层协议转发至目标服务器;
66.该服务器代理方法还包括:
67.通过第二传输层连接接收目标服务器发送的响应报文;
68.基于第一传输层连接,将响应报文通过指定应用层协议转发至客户端设备。
69.具体的,代理设备与目标服务器进行数据通信时同样需要基于传输层连接进行,因此本发明实施例中需要首先建立与目标服务器之间的第二传输层连接,并且为了第一传输层连接能够与第二传输层连接衔接起来,本发明实施例中还建立了第一传输层连接与第二传输层连接间的对应关系,如此一来,便可以通过第一传输层连接接收到客户端设备发送的报文,基于第二传输层连接以及指定应用层协议转发至目标服务器,同样的,对于通过第二传输层连接接收目标服务器发送的响应报文,也可以基于第一传输层连接,将响应报文通过指定应用层协议转发至客户端设备。
70.其中,值得一提的是,对于代理设备来说,需要对其进行预先配置,配置的内容具体可以包括:
71.配置需要监听的端口和ip作为前端地址,以及真实的目标服务器的ip地址和端口,其中,需要监听的端口指的是上述用于接收客户端设备发送的请求以及数据的端口。
72.具体的,在建立好第一传输层连接时,以及在建立好第二传输层连接时,均需要设置该传输层连接所对应的五元组,第一传输层连接对应的第一五元组可以包括源ip、源端口、目的ip、目的端口以及应用层协议类型(指定应用层协议),第二传输层连接对应的第一
五元组同样可以包括源ip、源端口、目的ip、目的端口以及应用层协议类型(指定应用层协议),以便代理设备能够将客户端设备发送的报文或者目标服务器发送的响应报文进行转发,上述的第一传输层连接与第二传输层连接的对应关系,实际上也在这两个五元组之间建立了对应关系。
73.作为一种优选的实施例,通过第一传输层连接接收客户端设备发送的报文具体为:
74.通过第一传输层连接接收客户端设备发送的首个报文;
75.根据报文中的协议标志确定出报文所属的指定应用层协议具体为:
76.根据首个报文中的协议标识确定出报文所属的指定应用层协议。
77.具体的,通过首个报文中的协议标识确定出报文所属的指定应用层协议,可以更快速地进行报文转发工作,提高了工作效率。
78.作为一种优选的实施例,根据报文中的协议标志确定出报文所属的指定应用层协议具体为:
79.获取首个报文的传输层负载中的协议标志;
80.将协议标志在预设协议标志库中进行匹配,确定出协议标志对应的指定应用层协议。
81.具体的,可以预先设备协议标志库,协议标志库中的每个协议标志都对应的有应用层协议,如此一来,在从协议标志库中匹配到报文的传输层负载中的协议标志后,便可以确定出协议标志对应的指定应用层协议。
82.其中,通过从预设协议标志库进行匹配的方式可以减少运算量,提高工作效率。
83.具体的,协议标志库中的协议标志可以包括http协议对应的get、post、put、head、delete、connect、options、trace、patch字段,https协议对应的0x160301字段等,本发明实施例在此不做限定。
84.作为一种优选的实施例,获取首个报文的传输层负载中的协议标志具体为:
85.从首个报文的传输层负载的前预设数量个字节中,获取协议标志。
86.具体的,通常协议规定,协议标志需要被存储在传输层负载的前预设数量个字节中,因此本发明实施例中从首个报文的传输层负载的前预设数量个字节中便可以获取协议标志,缩小了寻找范围从而进一步提升了工作效率。
87.其中,预设数量可以根据协议规定进行自主设定,本发明实施例在此不做限定。
88.作为一种优选的实施例,第一传输层连接以及第二传输层连接均为传输控制协议tcp连接。
89.具体的,tcp(transmission control protocol,传输控制协议)具有速度快以及稳定性高等优点。
90.当然,除了tcp连接外,第一传输层连接以及第二传输层连接还可以分别为其他类型,本发明实施例在此不做限定。
91.作为一种优选的实施例,根据报文中的协议标志确定出报文所属的指定应用层协议之后,根据报文中的协议标志确定出报文所属的指定应用层协议之前,该服务器代理方法还包括:
92.判断指定应用层协议是否存在于预设的目标应用层协议集合内;
93.若存在,则执行通过指定应用层协议将客户端设备发送的报文转发至目标服务器的步骤;
94.若不存在,则丢弃客户端设备发送的报文。
95.具体的,为了进一步提高安全性以及对应用层协议进行限定,本发明实施例中还可以对代理设备进行目标应用层协议集合的预先设置,在设置好后,代理设备便只会转发处理目标应用层协议集合内的指定应用层协议。
96.请参考图2,图2为本发明提供的一种服务器代理装置的结构示意图,该服务器代理装置包括:
97.建立模块21,用于响应于客户端设备的访问请求,建立与客户端设备间的第一传输层连接;
98.接收模块22,用于通过第一传输层连接接收客户端设备发送的报文;
99.确定模块23,用于根据报文中的协议标志确定出报文所属的指定应用层协议;
100.转发模块24,用于通过指定应用层协议将客户端设备发送的报文转发至目标服务器。
101.请参考图3,图3为本发明提供的一种服务器代理设备的结构示意图,该服务器代理设备包括:
102.存储器31,用于存储计算机程序;
103.处理器32,用于执行计算机程序时实现如前述实施例中服务器代理方法的步骤。
104.本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中服务器代理方法的步骤。
105.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
106.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1