CN118283125A - Https请求调度方法、装置、系统、介质及设备 - Google Patents
Https请求调度方法、装置、系统、介质及设备 Download PDFInfo
- Publication number
- CN118283125A CN118283125A CN202211731739.0A CN202211731739A CN118283125A CN 118283125 A CN118283125 A CN 118283125A CN 202211731739 A CN202211731739 A CN 202211731739A CN 118283125 A CN118283125 A CN 118283125A
- Authority
- CN
- China
- Prior art keywords
- information
- domain name
- scheduling
- https request
- client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000004044 response Effects 0.000 claims abstract description 71
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 10
- 230000003993 interaction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 102100031680 Beta-catenin-interacting protein 1 Human genes 0.000 description 1
- 101000993469 Homo sapiens Beta-catenin-interacting protein 1 Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Abstract
本发明是关于一种HTTPS请求调度方法、装置、介质及设备,该方法应用于节点,包括:接收客户端的HTTPS请求,与客户端进行SSL/TLS握手,创建第一连接,发送第一连接对应的会话票据至客户端,会话票据基于所述HTTPS请求的原始域名对应的SNI信息生成;解析HTTPS请求并确定是否需要进行调度;当HTTPS请求需要调度时,计算出调度的目标节点;按预先约定的规则,基于调度的目标域名、与原始域名对应的SNI信息、目标节点的信息,构建调度信息;发送调度信息至客户端,以使客户端根据调度信息向目标节点发送请求信息,并获取响应内容。可以实现第一连接的会话复用,避免目标节点与客户端的重复握手,提高响应速度。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种HTTPS请求调度方法、装置、系统、介质及设备。
背景技术
为了提供更好的网络服务,负载均衡调度是非常重要的手段,现有技术中,当被调度的请求为HTTPS请求时,被调度的节点无法实现SSL证书的复用,将导致重复的握手过程,消耗较多时间,影响调度效率。在证书过期、颁发机构不正规等情况下,HTTPS请求容易被封禁,影响用户体验。
发明内容
为克服相关技术中存在的问题,本发明提供一种HTTPS请求调度方法、装置、系统、介质及设备。
根据本发明的第一方面,提供一种HTTPS请求调度方法,应用于节点,包括:
接收客户端的HTTPS请求,与所述客户端进行SSL/TLS握手,创建第一连接,发送所述第一连接对应的会话票据至所述客户端,所述会话票据基于所述HTTPS请求的原始域名对应的SN I信息生成;
解析所述HTTPS请求并确定是否需要进行调度;
当所述HTTPS请求需要调度时,计算出调度的目标节点;
按预先约定的规则,基于调度的目标域名、与所述原始域名对应的SN I信息、所述目标节点的信息,构建调度信息;
发送所述调度信息至所述客户端,以使所述客户端根据所述调度信息向所述目标节点发送请求信息,并获取响应内容。
基于前述方案,在本申请的一些实施例中,按预先约定的规则,基于调度的目标域名、与所述原始域名对应的SN I信息、所述目标节点的信息,构建调度信息包括:
使用所述目标节点的信息替换所述原始请求中的原始域名,并将所述调度的目标域名和所述SN I信息携带在重定向地址的参数或者响应消息的头信息或者响应体中。
基于前述方案,在本申请的一些实施例中,所述目标节点的信息包括目标I P地址,或者,所述目标节点的信息包括目标I P地址和指定端口。
基于前述方案,在本申请的一些实施例中,HTTPS请求调度方法在所述接收客户端的HTTPS请求之前,还包括:
接收域名配置信息,所述域名配置信息包括域名与SN I信息的对应关系。
基于前述方案,在本申请的一些实施例中,所述确定是否需要进行调度包括:
根据所述HTTPS请求的原始域名的冷热程度、所述HTTPS请求的原始域名是否为免流量域名、或所述HTTPS请求的原始域名的服务等级中的至少一种确定是否需要进行调度。
基于前述方案,在本申请的一些实施例中,所述计算出调度的目标节点包括:
根据就近原则、哈希算法、轮询、最小连接规则、映射规则中的一种确定调度的目标节点。
基于前述方案,在本申请的一些实施例中,HTTPS请求调度方法还包括:将所述目标I P地址、指定端口、调度的目标域名、所述SN I信息中的至少之一进行加密,构建为调度信息。
基于前述方案,在本申请的一些实施例中,HTTPS请求调度方法还包括:接收重定向后的HTTPS请求,获取所述重定向后的HTTPS请求中的SN I信息以及与第一连接对应的会话票据,基于所述SN I信息对所述会话票据进行校验,校验通过后向所述客户端响应HTTPS请求对应的数据。
根据本发明的另一方面,提供一种HTTPS请求调度方法,应用于客户端,包括:
向节点发送针对原始域名访问的HTTPS请求,与所述节点进行SSL/TLS握手,创建第一连接,接收并存储所述第一连接对应的会话票据;
接收所述节点发送的调度信息,所述调度信息包含调度的目标域名、与所述原始域名对应的SN I信息、目标节点信息;
按预先约定的规则解析所述调度信息,获取所述SN I信息及目标节点信息;
基于所述目标节点信息发送重定向后的HTTPS请求,所述请求信息包括所述SN I信息及所述会话票据,以使所述目标节点基于所述SN I信息对所述会话票据进行验证;
获取响应内容。
基于前述方案,在本申请的一些实施例中,所述目标节点的信息包括目标I P地址,或者,所述目标节点的信息包括目标I P地址和指定端口。
基于前述方案,在本申请的一些实施例中,所述按预先约定的规则解析所述调度信息,获取所述SN I信息及目标节点信息包括:
按预先约定的规则,从所述调度信息的重定向地址的参数或者响应消息的头信息或者响应体中解析出所述SN I信息及目标节点信息。
根据本发明的另一方面,提供一种HTTPS请求调度装置,应用于节点,包括:
握手模块,用于接收客户端的HTTPS请求,与所述客户端进行SSL/TLS握手,创建第一连接,发送所述第一连接对应的会话票据至所述客户端,所述会话票据基于所述HTTPS请求的原始域名对应的SN I信息生成;
第一解析模块,用于解析所述HTTPS请求并确定是否需要进行调度;
调度模块,当所述HTTPS请求需要调度时,计算出调度的目标节点;
调度信息构建模块,用于按预先约定的规则,基于调度的目标域名、与所述原始域名对应的SN I信息、所述目标节点的信息,构建调度信息;
发送模块,用于发送所述调度信息至所述客户端,以使所述客户端根据所述调度信息向所述目标节点发送请求信息,并获取响应内容。
基于前述方案,在本申请的一些实施例中,所述调度信息构建模块还用于:
使用所述目标节点的信息替换所述原始请求中的原始域名,并将所述调度的目标域名和所述SN I信息携带在重定向地址的参数或者响应消息的头信息或者响应体中。
基于前述方案,在本申请的一些实施例中,所述目标节点的信息包括目标I P地址,或者,所述目标节点的信息目标I P地址和指定端口。
基于前述方案,在本申请的一些实施例中,HTTPS请求调度装置还包括:
配置信息接收模块,用于接收域名配置信息,所述域名配置信息包括域名与SN I信息的对应关系。
基于前述方案,在本申请的一些实施例中,HTTPS请求调度装置还包括:响应模块,用于接收重定向后的HTTPS请求,获取所述重定向后的HTTPS请求中的SN I信息以及与第一连接对应的会话票据,基于所述SN I信息对所述会话票据进行校验,校验通过后向所述客户端响应HTTPS请求对应的数据。
基于前述方案,在本申请的一些实施例中,所述第一解析模块还用于:根据所述HTTPS请求的原始域名的冷热程度、所述HTTPS请求的原始域名是否为免流量域名、或所述HTTPS请求的原始域名的服务等级中的至少一种确定是否需要进行调度。
基于前述方案,在本申请的一些实施例中,所述调度模块还用于:根据就近原则、哈希算法、轮询、最小连接规则、映射规则中的一种确定调度的目标节点。
基于前述方案,在本申请的一些实施例中,HTTPS请求调度装置还包括加密模块,用于:将所述目标I P地址、指定端口、调度的目标域名、所述SN I信息中的至少之一进行加密,构建为调度信息。
根据本发明的另一方面,提供一种HTTPS请求调度装置,应用于客户端,包括:
握手请求模块,用于向节点发送针对原始域名访问的HTTPS请求,与所述节点进行SSL/TLS握手,创建第一连接,接收并存储所述第一连接对应的会话票据;
调度信息接收模块,用于接收所述节点发送的调度信息,所述调度信息包含调度的目标域名、与所述原始域名对应的SN I信息、目标节点信息;
第二解析模块,用于按预先约定的规则解析所述调度信息,获取所述SN I信息及目标节点信息;
重定向模块,用于基于所述目标节点信息发送重定向后的HTTPS请求,请求信息包括SN I信息及会话票据,以使目标节点基于SN I信息对会话票据进行验证;
响应获取模块,用于获取响应内容。
基于前述方案,在本申请的一些实施例中,所述目标节点的信息包括目标I P地址,或者,所述目标节点的信息包括目标I P地址和指定端口。
基于前述方案,在本申请的一些实施例中,所述第二解析模块还用于:
按预先约定的规则,从所述调度信息的重定向地址的参数或者响应消息的头信息或者响应体中解析出所述SN I信息及目标节点信息。
根据本发明的另一方面,提供一种HTTPS请求调度系统,包括:
节点,用于执行权利要求1-8任一所述的HTTPS请求调度方法;
客户端,用于执行权利要求9-11所述的HTTPS请求调度方法。
根据本发明的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如权利要求1-11中任意一项所述方法的步骤。
根据本发明的另一方面,提供一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-11中任意一项所述方法的步骤。
本发明通过节点接收客户端的HTTPS请求,与客户端进行SSL/TLS握手,创建第一连接,发送第一连接对应的会话票据至客户端,会话票据基于所述HTTPS请求的原始域名对应的SN I信息生成;解析HTTPS请求并确定是否需要进行调度;当HTTPS请求需要调度时,计算出调度的目标节点;按预先约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息;发送调度信息至客户端,以使客户端根据调度信息向目标节点发送请求信息,并获取响应内容。通过本发明方法可以实现第一连接的会话复用,避免目标节点与客户端的重复握手,提高响应速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据一示例性实施例示出的一种HTTPS请求调度方法的流程图。
图2是根据一示例性实施例示出的客户端和节点A的交互示意图。
图3是根据一示例性实施例示出的客户端和节点A的交互示意图。
图4是根据一示例性实施例示出的客户端和节点A的交互示意图。
图5是根据一示例性实施例示出的一种HTTPS请求调度方法的流程图。
图6是根据一示例性实施例示出的客户端和节点A、B的交互示意图。
图7是根据一示例性实施例示出的HTTPS请求调度装置的框图。
图8是根据一示例性实施例示出的HTTPS请求调度装置的框图。
图9是根据一示例性实施例示出的HTTPS请求调度装置的框图。
图10是根据一示例性实施例示出的HTTPS请求调度装置的框图。
图11是根据一示例性实施例示出的HTTPS请求调度装置的框图。
图12是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。
当前节点接收客户端的HTTPS请求,由客户端和当前节点握手并建立连接。当客户端的HTTPS请求为特殊请求,例如人为提前设置如冷热域名、免流域名、专属服务等,需要由特定节点为其提供服务,当前节点需要将客户端的HTTPS请求,调度至目标节点。传统方法中,客户端向目标节点再次发送HTTPS请求,需要重新与目标节点进行握手,并重新建立连接,导致重复的握手过程,消耗较多时间,影响调度效率。另外,还可能出现证书不安全,过期等情况导致的数据传输不安全被封禁的安全策略问题,进一步影响调度效率。
为解决传统技术中存在的问题,本发明提供一种HTTPS请求调度方法。
图1是根据一示例性实施例示出的HTTPS请求调度方法的流程的图。参考图1,HTTPS请求调度方法应用于节点,包括步骤S11-步骤S15,详细介绍如下:
步骤S11,接收客户端的HTTPS请求,与客户端进行SSL/TLS握手,创建第一连接,发送第一连接对应的会话票据至该客户端,会话票据基于HTTPS请求的原始域名对应的SN I信息生成;
步骤S12,解析HTTPS请求并确定是否需要进行调度;
步骤S13,当HTTPS请求需要调度时,计算出调度的目标节点;
步骤S14,按预先约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息;
步骤S15,发送调度信息至客户端,以使客户端根据调度信息向目标节点发送请求信息,并获取响应内容。
在步骤S11中,节点接收客户端的HTTPS请求,需要与客户端进行SSL/TLS握手。在此过程中,节点服务器会向客户端发送包含服务器公钥的证书,用于客户端对服务器进行验证。传统方法中,客户端向服务器发送的请求中,需要携带SN I(Server Name I nd ication,服务器名称指示,是对SSL/TLS协议的扩展,允许在单个I P地址上承载多个SSL证书)信息,以指示服务器选择SN I信息对应的SSL证书完成握手,并建立节点服务器与客户端的连接。一般情况下,域名、SN I信息和证书一一对应,导致节点在为多个域名提供加速服务时,需要为每个域名申请证书,证书过多,导致证书管理的难度增加,而且,容易出现证书不安全,过期等情况导致的数据传输不安全被封禁的安全策略问题。
在本申请的一示例性实施例中,接收客户端的HTTPS请求之前,还包括:
接收域名配置信息,域名配置信息包括域名与SN I信息的对应关系。
本发明提供的HTTPS请求调度方法中,在接收客户端的HTTPS请求之前,接收域名配置信息,域名配置信息可以由管理人员进行配置,并经中心服务器下发给各个节点。域名配置信息包括域名与SN I信息的对应关系。例如,在建立域名配置信息时,可以将同一网站的多个业务的域名与SN I信息建立多对一的映射关系,例如,某音视频网站www.ABC.com,音频由域名mus ic.ABC.com提供服务、视频服务由域名video.ABC.com提供服务,可以建立域名mus ic.ABC.com、域名video.ABC.com与SN I(www.ABC.com.)的映射关系,SN I再与www.ABC.com的证书建立映射关系。值得注意的是,多个域名并不限于上述情况,只要是多个域名可以共用同一证书的情况,都可以建立多个域名与SN I信息的多对一的映射关系。由此,可以使用一个域名证书对应的SN I为多个域名提供服务,减少各个节点的证书数量,便于管理,降低证书的申请费用。
节点服务器选择原始域名对应的SN I信息对应的证书,与客户端完成握手后,可以和客户端建立第一连接。同时,节点服务器可以基于SN I生成会话票据(sess ion-ticket),具体来说,节点服务器基于SN I对应的证书生成会话票据。会话票据和第一连接对应,将该会话票据发送给客户端,以使客户端接收到会话票据后,保存在客户端中。客户端在保存会话票据时,会建立会话票据和SN I的对应关系。
在步骤S12中,解析HTTPS请求并确定是否需要进行调度。对客户端的HTTPS请求进行解析,确定客户端访问的内容,根据待访问的内容确定该HTTPS请求是否需要调度。
在步骤S13中,当HTTPS请求需要调度时,计算出调度的目标节点。
如果HTTPS请求需要调度,根据预设规则,计算出调度的目标节点。例如,节点A接收到HTTPS请求,和客户端握手后建立第一连接,解析HTTPS请求,确定该请求为专属服务,根据预设规则计算出为该专属服务提供服务的节点;预设规则,例如,就近原则、哈希算法、轮询、最小连接规则、映射规则等。假设,计算出由节点B提供该专属服务,因此,计算出调度的目标节点为节点B。
在步骤S14中,按预先约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息。
客户端与节点服务器可以预先约定规则,以约定调度信息的构建规则,根据预先与客户端约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息等,构建调度信息。预先约定的规则,可以是调度信息的构建规则,只有节点与客户端预先约定了规则,客户端才能根据约定的规则对调度信息进行正确的解析。调度的目标域名,可以和原始域名相同,也可以是增加了调度信息的域名,例如,客户端访问的原始域名为video.ABC.com,当该域名下的视频内容提供免流量服务时,为了更好地区分免流量的服务流量,对请求进行基于域名的调度,调度的目标域名为d i aodu.vi deo.ABC.com。客户端再次发起针对调度的目标域名的访问请求,实现精确的免流量计费服务。
在步骤S15中,发送调度信息至客户端,以使客户端根据调度信息向目标节点发送请求信息,并获取响应内容。
客户端接收到调度信息后,可以从调度信息中解析出目标节点,向目标节点发送请求信息,并从目标节点获取响应内容。
同时,客户端还能从调度信息中获取原始域名对应的SN I信息,并在本地存储中查询与SN I信息对应的会话票据。如果查询到与SN I信息对应的会话票据,客户端向目标节点发送的请求信息中,会携带该会话票据。
目标节点可以从客户端的请求信息中获取SN I信息,并使用SN I信息对会话票据进行验证,并在验证通过后,直接与客户端建立连接,实现第一连接的会话复用,避免了重复握手的过程,提高响应速度。
在该实施例中,将SN I应用于构建调度信息,以使客户端在向目标节点发送请求时,可以携带SN I和与该SN I对应的会话票据,并由目标节点对会话票据进行验证,验证通过后,与客户端建立连接,从而实现了第一连接的会话复用,避免了目标节点与客户端的重复握手,提高响应速度。
在一示例性实施例中,在步骤S14中,按约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息包括:
使用目标节点的信息替换原始请求中的原始域名,并将调度的目标域名和SN I域名携带在重定向地址的参数或者响应消息的头信息或响应体中。
调度信息可以是重定向信息,在构建调度信息时,使用目标节点的信息替换原始请求的原始域名,目标节点的信息可以是目标节点的域名,也可以是目标节点的I P地址或者目标节点的I P地址和指定端口。
图2是根据一示例性实施例示出的客户端和节点A的交互示意图。参考图2,步骤1,客户端和节点A预先约定规则。步骤2,客户端发送原始请求为https://www.ABC.com/ur i?a=1,其中原始域名为www.ABC.com,节点A对客户端请求进行调度,目标节点的信息为I P地址1.1.1.1,端口号为80,SN I信息为xxx.com。步骤3,节点A构建的重定向调度信息可以为一个302响应,重定向地址为https://1.1.1.1:80/ur i?a=1&domai n=www.ABC.com&sni_host=xxx.com。其中,“www.ABC.com”为调度后的目标域名,(此时,调度后的目标域名与原始域名相同),“xxx.com”为SN I域名。目标域名和SN I信息以参数形式,携带在调度信息中。客户端可以根据预先约定的规则,从重定向地址中直接解析出目标节点的I P地址:1.1.1.1,端口号:80;从重定向地址的参数中解析出调度后的目标域名和SN I信息。
图3是根据一示例性实施例示出的客户端和节点A的交互示意图。参考图3,步骤1,客户端和节点A预先约定规则。步骤2,客户端发送原始请求为https://www.ABC.com/ur i?a=1,其中原始域名为www.ABC.com。节点A对客户端请求进行调度,目标节点的信息为CDN-ABC,SN I信息为xxx.com。步骤3,节点A构建的重定向调度信息可以为一个302响应,重定向地址为https://CDN-ABC.com/ur i?a=1&domai n=www.ABC.com&sni_host=xxx.com。其中,“www.ABC.com”为调度后的目标域名,(此时,调度后的目标域名与原始域名相同),“xxx.com”为SN I域名。目标域名和SN I信息以参数形式,携带在调度信息中。客户端可以根据预先约定的规则,从重定向地址中直接解析出目标节点的域名:CDN-ABC.com,然后需要进一步进行DNS域名解析,获取域名CDN-ABC.com的解析地址为I P地址:1.1.1.1。从重定向地址的参数中解析出调度后的目标域名和SN I信息。
图4是根据一示例性实施例示出的客户端和节点A的交互示意图。参考图4,步骤1,客户端和节点A预先约定规则。步骤2,,客户端发送原始请求为https://www.ABC.com/uri?a=1,其中原始域名为www.ABC.com。节点A对客户端请求进行调度,目标节点的信息为IP地址1.1.1.1,端口号为80,SN I信息为xxx.com。步骤3,节点A构建的重定向调度信息可以为一个302响应,重定向地址为https://1.1.1.1:80/ur i?a=1。并且在响应头信息中添加以下信息:“X-domai n:www.ABC.com;X-SN I:xxx.com”,其中,“www.ABC.com”为调度后的目标域名,,“xxx.com”为SN I域名。客户端可以根据预先约定的规则,从重定向地址中直接解析出目标节点的I P地址:1.1.1.1,端口号:80。从响应头信息中解析出SN I信息和调度的目标域名。
在以上示例中,调度后的目标域名和SN I域名以参数形式添加在重定向地址的参数中。在一些实施例中,调度后的目标域名和SN I域名也可以添加在重定向响应消息的头信息或响应体中。
与原始域名对应的SN I信息,可以是节点预先接收域名配置信息,根据域名配置信息包括的域名与SN I信息的对应关系,确定原始域名对应的SN I信息。也可以通过向指定服务器进行查询,获取原始域名对应的SN I信息。例如,在中心服务器中存储各个域名和SN I信息的对应关系,节点在需要进行调度,构建调度信息时,可以向中心服务器进行查询,从而获得原始域名对应的SN I信息。由于会话票据基于SN I信息生成,重定向调度信息被发送至目标节点后,目标节点可以从重定向信息中获取SN I信息,从而实现对会话票据的校验。通过对会话票据的校验,代替握手过程,从而实现连接的会话复用,避免重复握手导致的耗时。
由于节点和客户端进行了预先约定,节点根据预先约定的规则构建了调度信息,客户端可以根据预先约定的规则,对调度信息进行解析,从中解析出目标节点的信息、调度的目标域名、SN I域名等信息。预先约定规则,可以有效提高调度信息的安全性,防止信息被非法劫持。
在一示例性实施例中,在步骤S14中,目标节点的信息包括目标I P地址,或者,目标节点的信息包括目标I P地址和指定端口。
如果目标节点的信息为目标节点的域名,客户端从调度信息中解析出目标节点的域名信息后,需要向DNS系统进行域名解析,解析出目标节点的域名对应的I P地址后,才能向目标节点发送请求信息,并获取请求的内容。但基于域名的调度,容易受用户本地域名系统解析的影响,存在调度滞后的问题。例如,客户端请求https://www.ABC.com/ur i?a=1,节点计算出的目标节点B的域名为CDN-ABC.com,提供服务的服务器的I P地址为一个或多个I P地址。节点根据域名CDN-ABC.com构建调度信息,使用目标节点的域名代替原始请求中的原始域名后,重定向的调度信息为https://CDN-ABC.com/ur i?a=1,客户端向DNS系统请求解析域名CDN-ABC.com,解析结果1.1.1.1会缓存在本地DNS系统中,后续客户端向DNS系统请求解析CDN-ABC.com时,本地DNS会在一段时间内继续向客户端返回缓存的历史的解析结果1.1.1.1。如果目标节点B中的1.1.1.1对应的服务器出现故障,节点A在进行调度时,请求仍然被本地DNS解析为1.1.1.1,将不能及时将用户请求调度至能正常提供服务的服务器。
在本实施例中,目标节点的信息为目标I P地址,节点在构建调度信息时,使用目标I P地址替换原始请求中的原始域名,客户端可以从调度信息中直接解析出目标I P地址,向该I P地址直接发送请求信息进行SSL/TLS握手。不仅可以实现精确调度,而且不需要再经过DNS系统进行域名解析,提高了调度效率,同时还避免了本地DNS缓存导致的调度滞后的问题。
然而,当目标节点信息为I P地址时,需要解决一个前提就是基于证书的握手。重定向后的HTTPS请求以I P为访问地址,在请求的SSL/TLS握手阶段,节点作为服务端需要有对应该I P的证书,这样不仅浪费了证书资源,而且还导致被调度的节点无法实现SSL证书的复用。而在本实施例中,以目标节点的I P地址进行调度时,节点按预先约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息发送至客户端,以使客户端根据调度信息向目标节点发送请求信息,并获取响应内容。客户端向目标节点发送的请求信息中,可以携带与原始域名对应的SN I信息以及第一连接对应的会话票据,目标节点可以使用该SN I信息对会话票据进行验证,根据验证后的会话票据实现第一连接的会话复用,因此,不需要根据节点的I P申请证书,节省了证书资源。同时避免目标节点与客户端的重复握手,提高响应速度。
在一示例性实施例中,调度信息包括目标节点的I P地址和指定端口;基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息还包括:
使用目标节点的I P和指定端口替换请求中的原始域名,并将原始域名和SN I域名携带在重定向地址的参数或者响应消息的头信息或响应体中,构建为调度信息。
节点使用目标I P地址和指定端口替换请求中的原始域名,并将调度的目标域名和SN I域名携带在重定向地址的参数或者响应消息的头信息或响应体中,构建为调度信息。其中,指定端口可以是用户原始请求中的指定的服务端口,也可以是节点根据业务指定的特殊端口。由节点在调度信息中指定端口,可以在原始请求未指定服务端口的情况下,由节点指定的服务端口提供服务;或者,在客户端请求中指定了服务端口,但该端口不是业务指定的特殊端口时,可以将客户端指定端口切换为特殊端口。在本申请中,由于多个域名与SN I信息为多对一的对应关系,实现了域名和SN I信息的拆分。在接收客户端的HTTPS请求时,由节点指定特殊端口,并将指定的特殊端口和SN I信息绑定,可以在接收客户端针对不同域名、不同端口的请求,建立第一连接时,生成相同的会话票据。在对客户端针对不同域名、不同端口的请求进行调度时,目标节点接收针对不同域名、不同端口的请求都能复用第一连接的会话票据,节省了和客户端的握手过程。并且,上述方法可以适用于不同场景(传统I DC、融合云、云分发等)。
在一示例性实施例中,HTTPS请求调度方法还包括:将目标I P地址、指定端口、调度的目标域名和SN I域名的至少之一进行加密,构建为调度信息。
在节点构建调度信息时,还可以根据预先约定的规则,对目标I P地址、指定端口、调度的目标域名和SN I域名的一种或多种进行加密,从而对调度信息进行加密,防止中间劫持,泄露调度信息,提高信息安全以及系统安全。
在一示例性实施例中,HTTPS请求调度方法,还包括:接收重定向后的HTTPS请求,获取HTTPS请求中的SN I信息以及与第一连接对应的会话票据,基于SN I信息对会话票据进行校验,校验通过后向客户端响应HTTPS请求对应的数据。
节点可以接收客户端的原始HTTPS请求,也可以接收客户端的重定向后的HTTPS请求。
例如,节点A接收到客户端的原始HTTPS请求,并确定原始HTTPS请求的域名为免流量域名,需要进行调度,计算出调度的目标节点为节点A,并进一步确定出提供免流量服务的服务器,以及调度的免流量的目标域名后,向客户端发送重定向调度信息,以使客户端向节点A中的服务器发送包含调度的免流量的目标域名的请求信息,实现免流量的调度。由于客户端可以从调度信息中解析出原始域名对应的SN I信息,查询本地存储的从节点获取的会话票据,如果有和SN I信息对应的会话票据,在客户端向节点A中的服务器发送请求时,会携带与SN I信息对应的第一连接对应的会话票据以及SN I信息,节点A中服务器获取HTTPS请求中的SN I信息以及与第一连接对应的会话票据。节点A中的服务器使用SN I信息对会话票据进行校验通过后,可以复用第一连接对应的会话票据,实现第一连接的会话复用。
再如,节点A接收到客户端的原始HTTPS请求,并确定原始HTTPS请求需要进行调度,计算出调度的目标节点为节点B,节点A向客户端发送构建的调度信息,客户端根据调度信息,向节点B发送重定向后的请求。由于客户端可以从调度信息中解析出原始域名对应的SN I信息,查询本地存储的从节点获取的会话票据,如果有和SN I信息对应的会话票据,在客户端向节点B发送请求时,会携带与SN I信息对应的第一连接对应的会话票据以及SN I信息,节点B获取HTTPS请求中的SN I信息以及与第一连接对应的会话票据。只要在全网节点中采用一致的校验算法,节点第一连接的会话复用。B都可以根据SN I信息对会话票据进行校验。节点B可以基于HTTPS请求中的SN I信息,经计算生成新的会话票据,如果新的会话票据和客户端请求中携带的会话票据中的相同,即完成对客户端会话票据的校验,确认会话票据是基于第一连接生成的。节点B可以与客户端直接建立连接,不再进行握手协商会话密钥,而是使用会话票据中实现第一连接的会话复用,提高响应速度。
在一示例性实施例中,步骤S12中,确定是否需要进行调度包括:
根据HTTPS请求的原始域名的冷热程度、HTTPS请求的原始域名是否为免流量域名、或HTTPS请求的原始域名的服务等级中的至少一种确定是否需要进行调度。
例如,在全部节点中指定部分节点专门用于对热点域名提供服务,节点A被配置为普通节点,当节点A接收到HTTPS请求后,确定HTTPS请求的原始域名为热点域名,则节点A确定HTTPS请求需要进行调度,将HTTPS请求调度至专门为热点域名提供服务的节点B。
同样的,在全部节点中指定部分节点专门用于对免流量域名提供服务,当普通节点A接收到HTTPS请求后,确定HTTPS请求的原始域名为免流量域名,将HTTPS请求调度至专门提供免流量服务的节点B,由节点B提供服务,以便系统进行准确计费。
当然,也可以为不同的域名提供不同的服务等级,设置不同的节点为不同等级的域名提供服务,如果节点A接收到HTTPS请求后,确定HTTPS请求的原始域名的服务等级与自身提供的服务等级不符,确定该HTTPS请求需要调度,将该HTTPS请求调度至提供对应的服务等级的节点B。
将访问请求调度至合适的节点提供服务,可以进一步提高服务质量,充分利用各个节点的服务资源。
可以理解的是,在同一节点中,也可以指定节点中的部分服务器专门用于对热点域名提供服务、或者对免流量域名提供服务,或者对相应等级的域名提供服务,因此,节点在需要对访问请求进行调度时,也可以是将访问请求调度至本节点内的服务器。
在一示例性实施例中,步骤S13中,计算出调度的目标节点包括:
根据就近原则、哈希算法、轮询、最小连接规则、映射规则等预设算法中的一种确定调度的目标节点。
在确定HTTPS请求需要进行调度时,可以根据就近原则、哈希算法、轮询、最小连接规则、映射规则中的一种确定调度的目标节点,实际应用中,可以根据实际情况灵活选择,以实现负载均衡调度,防止调度后的目标节点超载。
目标节点也可以是当前节点,当目标节点为当前节点时,节点可以根据哈希算法、轮询、最小连接规则、映射规则中的一种,进一步确定节点内服务器的I P,实现节点内的负载均衡。
图5是根据一示例性示出的HTTPS请求调度方法的流程图。参考图5,HTTPS请求调度方法应用于客户端,包括:
步骤S51,节点发送针对原始域名访问的HTTPS请求,与节点进行SSL/TLS握手,创建第一连接,接收并存储第一连接对应的会话票据。
步骤S52,接收节点发送的调度信息,调度信息包含调度的目标域名、与所述原始域名对应的SN I信息、目标节点信息。
步骤S53,按预先约定的规则解析所述调度信息,获取SN I信息及目标节点的I P。
步骤S54,向目标节点I P发送重定向后的HTTPS请求,请求信息包括SN I信息及会话票据,以使目标节点基于SN I信息对所述会话票据进行验证;
步骤S55,获取响应内容。
值得注意的是,以上步骤并没有严格时序顺序。
客户端向节点发送HTTPS请求,与节点进行SSL/TLS握手,握手成功后,与节点创建第一连接。由节点生成第一连接对应的会话票据,并发送给客户端。客户端接收第一连接对应的会话票据,将会话票据存储在本地。会话票据是节点基于SN I信息生成的,在存储会话票据的时候,可以建立会话票据和SN I信息的映射关系。
如果节点确定该HTTPS请求需要进行调度,计算出调度的目标节点,按预先约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息。由客户端接收节点发送的调度信息。
客户端按预先约定的规则解析调度信息,获取SN I信息及目标节点信息。如果目标节点的信息为域名信息,由客户端对目标节点的域名进行DNS解析,进而获取目标节点的I P。如果目标节点的信息为I P地址,客户端可以从调度信息中直接解析出目标节点的IP,不需要再进行DNS解析。
向目标节点的I P发送重定向后的HTTPS请求。同时,客户端会根据获取的SN I信息查询本地存储,如果查询到与SN I信息对应的会话票据,会在请求信息中携带SN I信息及会话票据,以使目标节点基于SN I信息对会话票据进行验证,验证通过后,复用第一连接的会话,避免客户端与目标节点进行重复的握手,提高响应速度。
客户端从目标节点获取响应内容。
由于客户端可以从调度信息中获取SN I信息,并在向目标节点发送的请求中携带SN I信息和与第一连接对应的会话票据,目标节点可以使用SN I信息对客户端进行验证,同时使用会话票据,复用第一连接的会话信息,可以在对HTTPS请求进行调度时,实现连接的会话复用,避免了重复的握手过程。并且由于SN I可以和原始域名相同,也可以不同,可以实现拥有少量证书,为大量域名提供服务,有效降低由于证书不安全导致的封禁问题,提高服务质量。
在一示例性实施例中,目标节点的信息包括目标I P地址,或者,目标节点的信息包括目标I P地址和指定端口。
当目标节点的信息包括目标I P地址时,客户端可以直接向该I P地址发送重定向后的请求,不再需要进行DNS域名解析,节省域名解析时间。
当目标节点的信息包括目标I P和指定端口时,客户端向该I P地址的指定端口发送重定向后的请求,该指定端口可以是节点指定的特殊服务端口,客户端针对不同域名的HTTPS请求,如果多个不同域名对应的SN I信息相同,则客户端根据调度信息向目标节点发送的针对不同域名、不同端口的HTTPS请求,都可以复用第一连接的会话,减少与目标节点的握手过程,提高响应速度。
在一示例性实施例中,按预先约定的规则解析调度信息,获取SN I信息及目标节点信息包括:
按预先约定的规则,从调度信息的重定向地址的参数或者响应消息的头信息或者响应体中解析出SN I信息及目标节点信息。
只有根据预先约定的规则,才能正确从重定向地址的参数或者响应消息的头信息或者响应体中解析出SN I信息及目标节点信息,有效提高调度信息的安全。
为更好的理解本发明提供的HTTPS请求调度方法,以具体实施例进行进一步地说明。
图6是根据一示例性实施例示出的客户端和节点A、B的交互示意图。参考图6,步骤1,客户端和节点A约定规则;
步骤2,客户端向节点A发送请求:https://video.ABC.com/ur i?a=1。请求中携带SN I信息为video.ABC.com。
节点A接收到客户端的请求后,查询本地存储的域名配置信息,确定域名video.ABC.com对应的SN I信息为www.ABC.com,选择SN I信息对应的域名证书和客户端进行SSL/TLS握手,创建第一连接。并基于原始域名video.ABC.com对应的SN I信息www.ABC.com,生成第一连接的会话票据,具体来说,节点A基于SN I对应的证书生成会话票据,发送该会话票据至客户端。
客户端接收该会话票据,并存储在本地。为了标识该会话票据是与第一连接对应的会话票据,存储会话票据时,建立该会话票据和SN I信息的对应关系。
建立第一连接后,节点A对客户端的HTTPS请求进行解析,发现客户端请求的原始域名video.ABC.com为免流量域名,根据最小连接规则,确定节点B为该免流量域名提供免流量服务。确定节点B为目标节点,节点B的信息为目标I P地址1.1.1.1,端口号为80。
video.ABC.com对应的免流量域名为d iaodu.video.ABC.com,将diaodu.video.ABC.com作为调度的目标域名。
节点A根据和客户端预先约定的规则,构建调度信息。将目标I P地址和端口号替换请求中的原始域名,替换后为:https://1.1.1.1:80/ur i?a=1。将调度的目标域名和SNI信息携带在重定向的地址的参数中。步骤3,向客户端发送302重定向信息,重定向信息为:https://1.1.1.1:80/ur i?a=1@domai n=d iaodu.video.ABC.com@sni_host=www.ABC.com。
客户端接收重定向信息,根据预先约定的规则,对重定向信息进行解析,获取SN I信息为www.ABC.com,目标节点的I P为1.1.1.1,端口号为80,调度的目标域名为diaodu.video.ABC.com。
根据获取的SN I信息,查询本地存储会话票据,确定www.ABC.com对应的会话票据为第一连接的会话票据。
步骤4,客户端向目标节点发送重定向后的HTTPS请求时,先与1.1.1.1:80建立TCP连接,紧接着在进行SSL/TLS握手时,将SN I:www.ABC.com与查询到的第一连接的会话票据发送给服务端。
节点B接收客户端重定向后的SSL/TLS连接时,先获取会话票据和SN I信息,基于预设的算法对SN I信息进行计算,计算出新的会话票据,将新的会话票据和获取的会话票据进行比较,如果一致,则验证通过。节点B确定该客户端与前一节点握手成功,并成功建立过第一连接,则无需再和客户端重新握手,直接使用会话票据中的信息和客户端建立连接。
客户端在此连接的基础上发送HTTP请求GET/ur i?a=1HTTP/1.1且携带HTTP头部Host:d iaodu.video.ABC.com。
服务端根据客户端的请求向客户端响应https://d iaodu.video.ABC.com/ur i?a=1对应的内容。
由以上实施例,节点和客户端建立HTTPS连接,生成会话票据,并发送给客户端,在对HTTPS请求进行重定向调度时,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息,使得客户端向目标节点发送重定向请求时,携带SN I信息和会话票据,可以避免目标节点和客户端的重复握手过程。而且由于域名配置信息中,多个域名和一个SN I存在对应关系,可以使一个SN I域名的证书适用于多个域名的请求的握手,减少了节点中存储的证书数量,并有效减少由于证书过期、颁发机构不正规等情况下,导致的HTTPS请求被封禁的问题。
图7是根据一示例性实施例示出的HTTPS请求调度装置的框图。参考图3,HTTPS请求调度装置应用于节点,包括握手模块701,第一解析模块702,调度模块703,调度信息构建模块704,发送模块705。
该握手模块701被配置为,用于接收客户端的HTTPS请求,与客户端进行SSL/TLS握手,创建第一连接,发送第一连接对应的会话票据至客户端,会话票据基于HTTPS请求的原始域名对应的SN I信息生成。
该第一解析模块702被配置为,用于解析HTTPS请求并确定是否需要进行调度。
该调度模块703被配置为,当HTTPS请求需要调度时,计算出调度的目标节点。
该调度信息构建模块704被配置为,用于按预先约定的规则,基于调度的目标域名、与原始域名对应的SN I信息、目标节点的信息,构建调度信息。
该发送模块705被配置为,用于发送所述调度信息至所述客户端,以使所述客户端根据所述调度信息向所述目标节点发送请求信息,并获取响应内容。
在一示例性实施例中,调度信息构建模块704还被配置为用于:
使用目标节点的信息替换原始请求中的原始域名,并将调度的目标域名和SN I信息携带在重定向地址的参数或者响应消息的头信息或者响应体中。
在一示例性实施例中,目标节点的信息包括目标I P地址,或者,目标节点的信息目标I P地址和指定端口。
在一示例性实施例中,第一解析模块702还被配置为用于:根据HTTPS请求的原始域名的冷热程度、HTTPS请求的原始域名是否为免流量域名、或HTTPS请求的原始域名的服务等级中的至少一种确定是否需要进行调度。
在一示例性实施例中,调度模块703还被配置为用于:根据就行原则、哈希算法、轮询、最小连接规则、映射规则中的一种确定调度的目标节点。
图8是根据一示例性实施例示出的HTTPS请求调度装置的框图。参考图8,HTTPS请求调度装置还包括配置信息接收模块801。
该配置信息接收模块801被配置为用于接收域名配置信息,域名配置信息包括域名与SN I信息的对应关系。
图9是根据一示例性实施例示出的HTTPS请求调度装置的框图。参考图9,HTTPS请求调度装置还包括响应模块901。
该响应模块901被配置为,用于接收重定向后的HTTPS请求,获取重定向后的HTTPS请求中的SN I信息以及与第一连接对应的会话票据,基于SN I信息对会话票据进行校验,校验通过后向客户端响应HTTPS请求对应的数据。
图10是根据一示例性实施例示出的HTTPS请求调度装置的框图。参考图10,HTTPS请求调度装置还包括加密模块1001。
加密模块1001被配置为用于将目标I P地址、指定端口、调度的目标域名、SN I信息中的至少之一进行加密,构建为调度信息。
图11是根据一示例性实施例示出的HTTPS请求调度装置的框图。参考图11,HTTPS请求调度装置应用于客户端,包括握手请求模块1101,调度信息接收模块1102,第二解析模块1103,重定向模块1104,响应获取模块1105。
该握手请求模块1101被配置为,用于向节点发送针对原始域名访问的HTTPS请求,与节点进行SSL/TLS握手,创建第一连接,接收并存储第一连接对应的会话票据。
该调度信息接收模块1102被配置为,用于接收节点发送的调度信息,所述调度信息包含调度的目标域名、与所述原始域名对应的SN I信息、目标节点信息。
该第二解析模块1103被配置为,用于按预先约定的规则解析调度信息,获取SN I信息及目标节点信息。
该重定向模块1104被配置为,用于基于目标节点信息发送重定向后的HTTPS请求,请求信息包括SN I信息及所述会话票据,以使目标节点基于SN I信息对会话票据进行验证。
该响应获取模块1105被配置为,用于获取响应内容。
在一示例性实施例中,目标节点的信息包括目标I P地址,或者,目标节点的信息包括目标I P地址和指定端口。
在一示例性实施例中,该第二解析模块703被配置为还被配置为,用于按预先约定的规则,从调度信息的重定向地址的参数或者响应消息的头信息或者响应体中解析出所述SN I信息及目标节点信息。
本申请还提供一种HTTPS请求调度系统,包括:节点和客户端,用于执行HTTPS请求调度方法。
图12是根据一示例性实施例示出的一种用于HTTPS请求调度的计算机设备1200的框图。例如,计算机设备1200可以被提供为一服务器。参照图12,计算机设备1200包括处理器1201,处理器的个数可以根据需要设置为一个或者多个。计算机设备1200还包括存储器1202,用于存储可由处理器1201的执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个。其存储的应用程序可以为一个或者多个。处理器1201被配置为执行指令,以执行上述HTTPS请求调度方法。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明的意图也包含这些改动和变型在内。
Claims (25)
1.一种HTTPS请求调度方法,应用于节点,其特征在于,包括:
接收客户端的HTTPS请求,与所述客户端进行SSL/TLS握手,创建第一连接,发送所述第一连接对应的会话票据至所述客户端,所述会话票据基于所述HTTPS请求的原始域名对应的SNI信息生成;
解析所述HTTPS请求并确定是否需要进行调度;
当所述HTTPS请求需要调度时,计算出调度的目标节点;
按预先约定的规则,基于调度的目标域名、与所述原始域名对应的SNI信息、所述目标节点的信息,构建调度信息;
发送所述调度信息至所述客户端,以使所述客户端根据所述调度信息向所述目标节点发送请求信息,并获取响应内容。
2.如权利要求1所述的HTTPS请求调度方法,其特征在于,所述按预先约定的规则,基于调度的目标域名、与所述原始域名对应的SNI信息、所述目标节点的信息,构建调度信息包括:
使用所述目标节点的信息替换所述原始请求中的原始域名,并将所述调度的目标域名和所述SNI信息携带在重定向地址的参数或者响应消息的头信息或者响应体中。
3.如权利要求1所述的HTTPS请求调度方法,其特征在于,所述目标节点的信息包括目标IP地址,或者,所述目标节点的信息包括目标IP地址和指定端口。
4.如权利要求1-3任一所述的HTTPS请求调度方法,其特征在于,所述接收客户端的HTTPS请求之前,还包括:
接收域名配置信息,所述域名配置信息包括域名与SNI信息的对应关系。
5.如权利要求1所述的HTTPS请求调度方法,其特征在于,所述确定是否需要进行调度包括:
根据所述HTTPS请求的原始域名的冷热程度、所述HTTPS请求的原始域名是否为免流量域名、或所述HTTPS请求的原始域名的服务等级中的至少一种确定是否需要进行调度。
6.如权利要求1所述的HTTPS请求调度方法,其特征在于,所述计算出调度的目标节点包括:
根据就近原则、哈希算法、轮询、最小连接规则、映射规则中的一种确定调度的目标节点。
7.如权利要求3所述的HTTPS请求调度方法,其特征在于,所述方法还包括:将所述目标IP地址、指定端口、调度的目标域名、所述SNI信息中的至少之一进行加密,构建为调度信息。
8.如权利要求1所述的HTTPS请求调度方法,其特征在于,还包括:接收重定向后的HTTPS请求,获取所述重定向后的HTTPS请求中的SNI信息以及与第一连接对应的会话票据,基于所述SNI信息对所述会话票据进行校验,校验通过后向所述客户端响应HTTPS请求对应的数据。
9.一种HTTPS请求调度方法,应用于客户端,其特征在于,包括:
向节点发送针对原始域名访问的HTTPS请求,与所述节点进行SSL/TLS握手,创建第一连接,接收并存储所述第一连接对应的会话票据;
接收所述节点发送的调度信息,所述调度信息包含调度的目标域名、与所述原始域名对应的SNI信息、目标节点信息;
按预先约定的规则解析所述调度信息,获取所述SNI信息及目标节点信息;
基于所述目标节点信息发送重定向后的HTTPS请求,所述请求信息包括所述SNI信息及所述会话票据,以使所述目标节点基于所述SNI信息对所述会话票据进行验证;
获取响应内容。
10.如权利要求9所述的HTTPS请求调度方法,其特征在于,所述目标节点的信息包括目标IP地址,或者,所述目标节点的信息包括目标IP地址和指定端口。
11.如权利要求9所述的HTTPS请求调度方法,其特征在于,所述按预先约定的规则解析所述调度信息,获取所述SNI信息及目标节点信息包括:
按预先约定的规则,从所述调度信息的重定向地址的参数或者响应消息的头信息或者响应体中解析出所述SNI信息及目标节点信息。
12.一种HTTPS请求调度装置,应用于节点,其特征在于,包括:
握手模块,用于接收客户端的HTTPS请求,与所述客户端进行SSL/TLS握手,创建第一连接,发送所述第一连接对应的会话票据至所述客户端,所述会话票据基于所述HTTPS请求的原始域名对应的SNI信息生成;
第一解析模块,用于解析所述HTTPS请求并确定是否需要进行调度;
调度模块,当所述HTTPS请求需要调度时,计算出调度的目标节点;
调度信息构建模块,用于按预先约定的规则,基于调度的目标域名、与所述原始域名对应的SNI信息、所述目标节点的信息,构建调度信息;
发送模块,用于发送所述调度信息至所述客户端,以使所述客户端根据所述调度信息向所述目标节点发送请求信息,并获取响应内容。
13.如权利要求12所述的HTTPS请求调度装置,其特征在于,所述调度信息构建模块还用于:
使用所述目标节点的信息替换所述原始请求中的原始域名,并将所述调度的目标域名和所述SNI信息携带在重定向地址的参数或者响应消息的头信息或者响应体中。
14.如权利要求12所述的HTTPS请求调度装置,其特征在于,所述目标节点的信息包括目标IP地址,或者,所述目标节点的信息目标IP地址和指定端口。
15.如权利要求12-14任一所述的HTTPS请求调度装置,其特征在于,还包括:
配置信息接收模块,用于接收域名配置信息,所述域名配置信息包括域名与SNI信息的对应关系。
16.如权利要求12所述的HTTPS请求调度装置,其特征在于,还包括:响应模块,用于接收重定向后的HTTPS请求,获取所述重定向后的HTTPS请求中的SNI信息以及与第一连接对应的会话票据,基于所述SNI信息对所述会话票据进行校验,校验通过后向所述客户端响应HTTPS请求对应的数据。
17.如权利要求12所述的HTTPS请求调度装置,其特征在于,所述第一解析模块还用于:根据所述HTTPS请求的原始域名的冷热程度、所述HTTPS请求的原始域名是否为免流量域名、或所述HTTPS请求的原始域名的服务等级中的至少一种确定是否需要进行调度。
18.如权利要求11所述的HTTPS请求调度装置,其特征在于,所述调度模块还用于:根据就近原则、哈希算法、轮询、最小连接规则、映射规则中的一种确定调度的目标节点。
19.如权利要求14所述的HTTPS请求调度装置,其特征在于,还包括加密模块,用于:将所述目标IP地址、指定端口、调度的目标域名、所述SNI信息中的至少之一进行加密,构建为调度信息。
20.一种HTTPS请求调度装置,应用于客户端,其特征在于,包括:
握手请求模块,用于向节点发送针对原始域名访问的HTTPS请求,与所述节点进行SSL/TLS握手,创建第一连接,接收并存储所述第一连接对应的会话票据;
调度信息接收模块,用于接收所述节点发送的调度信息,所述调度信息包含调度的目标域名、与所述原始域名对应的SNI信息、目标节点信息;
第二解析模块,用于按预先约定的规则解析所述调度信息,获取所述SNI信息及目标节点信息;
重定向模块,用于基于所述目标节点信息发送重定向后的HTTPS请求,请求信息包括SNI信息及会话票据,以使目标节点基于SNI信息对会话票据进行验证;
响应获取模块,用于获取响应内容。
21.如权利要求20所述的HTTPS请求调度装置,其特征在于,所述目标节点的信息包括目标IP地址,或者,所述目标节点的信息包括目标IP地址和指定端口。
22.如权利要求20所述的HTTPS请求调度装置,其特征在于,所述第二解析模块还用于:
按预先约定的规则,从所述调度信息的重定向地址的参数或者响应消息的头信息或者响应体中解析出所述SNI信息及目标节点信息。
23.一种HTTPS请求调度系统,其特征在于,包括:
节点,用于执行权利要求1-8任一所述的HTTPS请求调度方法;
客户端,用于执行权利要求9-11所述的HTTPS请求调度方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-11中任意一项所述方法的步骤。
25.一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-11中任意一项所述方法的步骤。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118283125A true CN118283125A (zh) | 2024-07-02 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3633949B1 (en) | Method and system for performing ssl handshake | |
US10320570B2 (en) | Digital security certificate selection and distribution | |
US10554418B2 (en) | Routing cloud messages using digital certificates | |
US9917770B1 (en) | Traffic on-boarding for acceleration through out-of-band security authenticators | |
CN109474916B (zh) | 一种设备鉴权方法、装置以及机器可读介质 | |
CN108566361B (zh) | 一种基于ssl/tls协议的安全参数协商方法和系统 | |
CN108768979B (zh) | 企业内网访问的方法、用于企业内网访问的装置及其系统 | |
CN110933084B (zh) | 一种跨域共享登录态方法、装置、终端及存储介质 | |
US9954839B2 (en) | Systems and methods for providing distributed authentication of service requests by identity management components | |
US20210167947A1 (en) | System and method for processing secret sharing authentication | |
CN113810412A (zh) | 一种无证书的标识解析身份信任管控方法、系统及设备 | |
CN112751898A (zh) | 负载均衡方法、装置、介质及设备 | |
CN112994897A (zh) | 证书查询方法、装置、设备及计算机可读存储介质 | |
CN113872933B (zh) | 隐藏源站的方法、系统、装置、设备及存储介质 | |
Krol et al. | Open security issues for edge named function environments | |
US20190334926A1 (en) | Validation of content delivery and verification of a delegation of delivery of a content | |
CN118283125A (zh) | Https请求调度方法、装置、系统、介质及设备 | |
US20220278980A1 (en) | Load balancing across certificates and certificate authorities | |
CN115460084B (zh) | 安全加速服务部署方法、装置、介质及设备 | |
US11575644B2 (en) | Method for acquiring a delegation chain relating to resolving a domain name identifier in a communication network | |
US11665133B2 (en) | Method for determining a delegation chain associated with a domain name resolution in a communication network | |
CN115460083B (zh) | 安全加速服务部署方法、装置、介质及设备 | |
WO2018004407A1 (en) | Systems and methods for service access control | |
CN115426392B (zh) | 一种设备网络管理方法、装置、设备及存储介质 | |
CN114979288B (zh) | 对客户端的控制方法及装置、系统、存储介质、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |