CN116708539A - 虚拟服务的匹配方法及装置 - Google Patents
虚拟服务的匹配方法及装置 Download PDFInfo
- Publication number
- CN116708539A CN116708539A CN202310776391.5A CN202310776391A CN116708539A CN 116708539 A CN116708539 A CN 116708539A CN 202310776391 A CN202310776391 A CN 202310776391A CN 116708539 A CN116708539 A CN 116708539A
- Authority
- CN
- China
- Prior art keywords
- virtual service
- ssl
- configuration
- field
- version number
- 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 48
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种虚拟服务的匹配方法及装置。该方法包括:获取来自客户的访问请求报文;解析所述访问请求报文获取报文的协议版本号;解析所述访问请求报文中的扩展字段获取字段内容;根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。本申请涉及的虚拟服务的匹配方法及装置,能够自动为访问请求报文匹配对应的服务策略,保证虚拟服务的稳定运行,提高访问速度和连接成功率,提升用户体验。
Description
技术领域
本申请涉及计算机信息处理领域,具体而言,涉及一种虚拟服务的匹配方法及装置。
背景技术
SSL(Secure Sockets Layer,安全套接层协议)是NetScape于1994年开发的加密协议。SSL1.0从未对外公开发布过;1994年发布的SSL2.0因存在严重的安全漏洞而被遗弃;1995年发布的SSL3.0是完全重新设计的协议,逐渐发展为Web通信的标准。
1996年IETF接手SSL,并将其更名为TLS(Transport Layer Security,传输层安全性协议)。1999年IETF发布TLS1.0,也称为SSL3.1;2006年IETF发布TLS1.1,新增AES对称密码算法和针对CBC攻击的解决方法;2008年IETF发布的TLS1.2是目前主流的TLS版本,新增GCM、CCM等认证加密,新增消息认证码HMAC-SHA256并删除IDEA、DES等加密算法,将伪随机数函数PRF改为基于SHA-256来实现;2018年IETF发布TLS1.3。所以,目前SSL证书的TLS协议最新版本是TLS1.3,而主流版本是TLS1.2,目前TLS1.2和TLS1.3都在被广泛使用。
应用交付设备对外提供的应用服务称为虚拟服务,在接收到虚拟服务请求时,会按照一定的标准进行策略匹配,进而通过匹配到的策略为客户提供服务。当前匹配方案一般是是根据虚拟服务引用SSL策略的顺序进行排序,选择配置的最下面一条进行匹配,不考虑发来的报文是什么版本的协议。
现在的这种匹配方案,不能灵活的匹配协议,而且,在不能够匹配到合适的SSL协议时,虚拟服务的连接就会建立失败,大大影响了任务处理速度和客户的满意度。
因此,需要一种新的虚拟服务的匹配方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种虚拟服务的匹配方法及装置,能够自动为访问请求报文匹配对应的服务策略,保证虚拟服务的稳定运行,提高访问速度和连接成功率,提升用户体验。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种虚拟服务的匹配方法,该方法包括:获取来自客户的访问请求报文;解析所述访问请求报文获取报文的协议版本号;解析所述访问请求报文中的扩展字段获取字段内容;根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。
在本申请的一种示例性实施例中,还包括:根据现存的多个协议版本号设置与其匹配的多个虚拟服务默认SSL配置;通过所述多个虚拟服务默认SSL配置生成预存配置策略。
在本申请的一种示例性实施例中,解析所述访问请求报文中的扩展字段获取字段内容,包括:解析所述访问请求报文中的扩展字段获取servername字段;解析所述访问请求报文中的扩展字段获取supported versions字段。
在本申请的一种示例性实施例中,根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置,包括:将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置;根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置。
在本申请的一种示例性实施例中,将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置,包括:将所述协议版本号和预存配置策略匹配;提取最后配置的且和所述协议版本号一致的虚拟服务默认SSL配置。
在本申请的一种示例性实施例中,根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置,包括:提取所述扩展字段中的servername字段;提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置;将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
在本申请的一种示例性实施例中,根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置,还包括:提取所述扩展字段中的supportedversions字段;提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置;将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
在本申请的一种示例性实施例中,根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置,还包括:在根据所述协议版本号和所述字段内容未匹配到目标虚拟服务SSL配置时,提取最后配置的且低于所述协议版本号的虚拟服务默认SSL配置;将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
在本申请的一种示例性实施例中,基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务,包括:基于所述目标虚拟服务SSL配置提取交付策略;根据所述交付策略将所述访问请求分发给后端服务器。
根据本申请的一方面,提出一种虚拟服务的匹配装置,该装置包括:报文模块,用于获取来自客户的访问请求报文;版本模块,用于解析所述访问请求报文获取报文的协议版本号;字段模块,用于解析所述访问请求报文中的扩展字段获取字段内容;配置模块,用于根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;服务模块,用于基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的虚拟服务的匹配方法及装置,通过获取来自客户的访问请求报文;解析所述访问请求报文获取报文的协议版本号;解析所述访问请求报文中的扩展字段获取字段内容;根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务的方式,能够自动为访问请求报文匹配对应的服务策略,保证虚拟服务的稳定运行,提高访问速度和连接成功率,提升用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种虚拟服务的匹配方法及装置的系统框图。
图2是根据一示例性实施例示出的一种虚拟服务的匹配方法的流程图。
图3是根据另一示例性实施例示出的一种虚拟服务的匹配方法的流程图。
图4是根据另一示例性实施例示出的一种虚拟服务的匹配方法的流程图。
图5是根据一示例性实施例示出的一种虚拟服务的匹配装置的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
图7是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请涉及的技术缩略语解释如下:
虚拟服务,应用交付设备对外提供的应用服务称为虚拟服务,虚拟服务配置在应用交付设备上,通过IP地址、协议、端口号唯一标识。客户的访问请求通过网络到达应用交付设备,依据这些标识匹配到虚拟服务后,由应用交付设备按照配置好的交付策略分发给真实服务。
负载均衡,负载均衡的就是将业务流量,均衡的分担到后端服务器。根据不同的业务环境、服务器状况,负载均衡通过预先选择的调度算法,将业务流量合理分配到后端服务器,保障后端服务器的正常、稳定、高效的运行。
SSL/TLS,传输层安全性协议(英语:Transport Layer Security,缩写作TLS),及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器,网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布第一版TLS标准文件。随后又公布RFC 5246(2008年8月)与RFC 6176(2011年3月)。在浏览器、邮箱、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如Google、Facebook等也以这个协议来创建安全连线,发送数据。目前已成为互联网上保密通信的工业标准。
SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。
本案申请人在研究过现有技术之后发现,现有技术中的虚拟服务匹配方法,一方面不能灵活的根据发来的报文来回复相应协议的报文,需要人为的调整SSL策略的顺序,才能保证回复的报文与发来的报文相匹配,另一方面如果最下面的一条SSL策略的协议版本高于收到的报文,且配置了高于收到的报文的版本的SSL策略时,由于策略的版本不对应,就会导致虚拟服务连接建立失败。
有鉴于现有技术中的技术缺陷,本申请提供了一种虚拟服务的匹配方法,能够在虚拟服务配置了多条SSL策略的情况下,根据收到的报文中协议的版本号,自动匹配该协议版本的SSL策略的匹配方法,从而无需手动更改SSL策略的上下位置,就能较好的实现虚拟服务的访问。
下面结合具体的实施例,对本申请的内容进行详细描述。
图1是根据一示例性实施例示出的一种虚拟服务的匹配方法及装置的系统框图。
如图1所示,系统架构10可以包括终端设备101、102、103,网络104和应用交付服务器105,后端服务器106、107、108。网络104用以在终端设备101、102、103和应用交付服务器105之间、应用交付服务器105和后端服务器106、107、108之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过应用交付服务器105与后端服务器106、107、108交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
后端服务器106、107、108可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的购物类网站提供支持的后台管理服务器。应用交付服务器105将终端设备101、102、103来的访问请求转发给后端服务器106或107或108,后端服务器106、107、108可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
应用交付服务器105可例如获取来自终端设备101、102、103的访问请求报文;应用交付服务器105可例如解析所述访问请求报文获取报文的协议版本号;应用交付服务器105可例如解析所述访问请求报文中的扩展字段获取字段内容;应用交付服务器105可例如根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;应用交付服务器105可例如基于所述目标虚拟服务SSL配置将访问请求转发给后端服务器106、107、108以为所述客户提供虚拟服务。
应用交付服务器105还可例如根据现存的多个协议版本号设置与其匹配的多个虚拟服务默认SSL配置;通过所述多个虚拟服务默认SSL配置生成预存配置策略。
应用交付服务器105可以是一个实体的服务器,还可例如为多个服务器组成。需要说明的是,本申请实施例所提供的虚拟服务的匹配方法可以由应用交付服务器105执行,相应地,虚拟服务的匹配装置可以设置于应用交付服务器105中。而提供给用户进行商品浏览的网页端与进行商家查询的请求端一般位于终端设备101、102、103中。
图2是根据一示例性实施例示出的一种虚拟服务的匹配方法的流程图。虚拟服务的匹配方法20至少包括步骤S202至S210。
如图2所示,在S202中,获取来自客户的访问请求报文。在一个实施例中,还包括:根据现存的多个协议版本号设置与其匹配的多个虚拟服务默认SSL配置;通过所述多个虚拟服务默认SSL配置生成预存配置策略。
在S204中,解析所述访问请求报文获取报文的协议版本号。解析收到报文中协议的版本号,并记录下来,用于后续比较。
在S206中,解析所述访问请求报文中的扩展字段获取字段内容。可例如,解析所述访问请求报文中的扩展字段获取servername字段;还可例如,解析所述访问请求报文中的扩展字段获取supported versions字段。
指的一提的是,在本申请中,可以先解析访问请求的协议版本号,然后再解释扩展字段内容,最终进行匹配确定目标虚拟服务SSL配置。还可以先解析访问请求的协议版本号,之后进行协议版本号的匹配,在匹配到了合适的协议版本号之后,再解析扩展字段的内容,从而进而SSL策略版本的匹配。即为,扩展字段的解析步骤可以在协议版本号的匹配之前,也可以在协议版本号的匹配之后,本申请不以此为限。
在S208中,根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置。将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置;根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置。
其中,将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置,包括:将所述协议版本号和预存配置策略匹配;提取最后配置的且和所述协议版本号一致的虚拟服务默认SSL配置。
更具体的,还可提取所述扩展字段中的servername字段;提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置;将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
更具体的,还可提取所述扩展字段中的supported versions字段;提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置;将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
在一个实施例中,还包括:在根据所述协议版本号和所述字段内容未匹配到目标虚拟服务SSL配置时,提取最后配置的且低于所述协议版本号的虚拟服务默认SSL配置;将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
在S210中,基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。可基于所述目标虚拟服务SSL配置提取交付策略;根据所述交付策略将所述访问请求分发给后端服务器。
本申请主要是通过对收到的报文进行解析,得到接收报文中TLS协议的协议版本号。用这个协议版本号与虚拟服务中配置的SSL策略的协议版本号进行比对,选择最后配置的包含收到的协议版本号的SSL策略。如果没有SSL策略包含收到的协议版本号,就选择一个最后配置的包含低于收到版本号的SSL策略,以此来进行回包,根据客户端是否支持低版本来决定虚拟服务是否能通。
根据本申请的虚拟服务的匹配方法,通过获取来自客户的访问请求报文;解析所述访问请求报文获取报文的协议版本号;解析所述访问请求报文中的扩展字段获取字段内容;根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务的方式,能够自动为访问请求报文匹配对应的服务策略,保证虚拟服务的稳定运行,提高访问速度和连接成功率,提升用户体验。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种虚拟服务的匹配方法的流程图。图3所示的流程30是对图2所示的流程中S208“根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置”的详细描述。
如图3所示,在S302中,将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置。可将所述协议版本号和预存配置策略匹配;提取最后配置的且和所述协议版本号一致的虚拟服务默认SSL配置。
实现设置多个虚拟服务默认策略,将解析获得的协议版本号与该虚拟服务所配置的SSL策略一一比对,选择最后配置的且与记录的协议版本号相同的SSL策略。
在S304中,解析所述扩展字段中的servername字段。
在S306中,提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置。
在虚拟服务配置的SSL策略中选择最下面一个与记录的协议版本号相同且servername相同的SSL策略,如没有符合条件的就不改变最初的默认策略。
在S308中,解析所述扩展字段中的supported versions字段。
在S310中,提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置。将解析之后,确认是否有supported versions字段,如果有就要单独考虑tls1.3(tls1.3协议在收到的报文的记录层填的也是tls1.2)。
根据supported versions字段重新考虑,依据记录的版本协议号和server name重新选择最后配置的SSL策略。如没有符合条件的就不改变最初的默认策略。
图4是根据另一示例性实施例示出的一种虚拟服务的匹配方法的流程图。图4所示的流程40是对图2所示的流程的详细描述。
如图4所示,在S402中,解析报文的协议版本号。解析收到报文中协议的版本号,并记录下来,用于后续比较。
在S404中,根据协议版本号匹配默认SSL策略。设置虚拟服务默认策略,将记录下的协议版本号与该虚拟服务所配置的SSL策略一一比对,选择最后配置的且与记录的协议版本号相同的SSL策略。
在S406中,判断是否配置了servername。解析报文中的扩展字段,看是否有servername字段,记录下server name。
在S408中,根据协议匹配和servername重新选择SSL策略。在虚拟服务配置的SSL策略中选择最下面一个与记录的协议版本号相同且server name相同的SSL策略,如没有符合条件的就不改变最初的默认策略。
在S410中,判断是否有supported versions。解析报文扩展字段,看是否有supported versions这个字段。
在S412中,解析supported versions字段。根据supported versions字段重新考虑,依据记录的版本协议号和server name重新选择最后配置的SSL策略。如没有符合条件的就不改变最初的默认策略。
在S414中,单独考虑TLS1.3从而重新选择SSL策略。
在S416中,根据匹配到的SSL策略提供虚拟服务。如经过以上选择都未选择到SSL策略,就选择虚拟服务最后一个配置的协议版本号低于收到报文协议版本号的SSL策略,根据客户端是否支持较低版本来决定能否能够成功访问虚拟服务。
在一个实施例中,如果以上均未选上SSL策略,则虚拟服务不通。
根据本申请的虚拟服务的匹配方法,将虚拟服务选择SSL策略时与收到的报文中的协议版本号相关联,能够更加灵活智能的使得应用的协议版本更加符合想要运用的协议版本,使得网络的连接更加智能化,安全化以及实用化。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5是根据一示例性实施例示出的一种虚拟服务的匹配装置的框图。如图5所示,虚拟服务的匹配装置50包括:报文模块502,版本模块504,字段模块506,配置模块508,服务模块510。
报文模块502用于获取来自客户的访问请求报文;
版本模块504用于解析所述访问请求报文获取报文的协议版本号;
字段模块506用于解析所述访问请求报文中的扩展字段获取字段内容;字段模块506还用于解析所述访问请求报文中的扩展字段获取servername字段;解析所述访问请求报文中的扩展字段获取supported versions字段。
配置模块508用于根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;配置模块508还用于将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置;根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置。
服务模块510用于基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。服务模块510还用于基于所述目标虚拟服务SSL配置提取交付策略;根据所述交付策略将所述访问请求分发给后端服务器。
根据本申请的虚拟服务的匹配装置,通过获取来自客户的访问请求报文;解析所述访问请求报文获取报文的协议版本号;解析所述访问请求报文中的扩展字段获取字段内容;根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务的方式,能够自动为访问请求报文匹配对应的服务策略,保证虚拟服务的稳定运行,提高访问速度和连接成功率,提升用户体验。
图6是根据一示例性实施例示出的一种电子设备的框图。
下面参照图6来描述根据本申请的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图4中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取来自客户的访问请求报文;解析所述访问请求报文获取报文的协议版本号;解析所述访问请求报文中的扩展字段获取字段内容;根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。
该计算机可读介质还可实现如下功能:根据现存的多个协议版本号设置与其匹配的多个虚拟服务默认SSL配置;通过所述多个虚拟服务默认SSL配置生成预存配置策略。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种虚拟服务的匹配方法,其特征在于,包括:
获取来自客户的访问请求报文;
解析所述访问请求报文获取报文的协议版本号;
解析所述访问请求报文中的扩展字段获取字段内容;
根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;
基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。
2.如权利要求1所述的方法,其特征在于,还包括:
根据现存的多个协议版本号设置与其匹配的多个虚拟服务默认SSL配置;
通过所述多个虚拟服务默认SSL配置生成预存配置策略。
3.如权利要求1所述的方法,其特征在于,解析所述访问请求报文中的扩展字段获取字段内容,包括:
解析所述访问请求报文中的扩展字段获取servername字段;
解析所述访问请求报文中的扩展字段获取supported versions字段。
4.如权利要求1所述的方法,其特征在于,根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置,包括:
将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置;
根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置。
5.如权利要求4所述的方法,其特征在于,将所述协议版本号和预存配置策略匹配,确定虚拟服务默认SSL配置,包括:
将所述协议版本号和预存配置策略匹配;
提取最后配置的且和所述协议版本号一致的虚拟服务默认SSL配置。
6.如权利要求4所述的方法,其特征在于,根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置,包括:
提取所述扩展字段中的servername字段;
提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置;
将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
7.如权利要求6所述的方法,其特征在于,根据所述扩展字段中的内容更新所述虚拟服务默认SSL配置以生成所述目标虚拟服务SSL配置,还包括:
提取所述扩展字段中的supported versions字段;
提取最后配置的且和所述servername字段一致的虚拟服务默认SSL配置;
将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
8.如权利要求1所述的方法,其特征在于,根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置,还包括:
在根据所述协议版本号和所述字段内容未匹配到目标虚拟服务SSL配置时,提取最后配置的且低于所述协议版本号的虚拟服务默认SSL配置;
将所述虚拟服务默认SSL配置作为所述目标虚拟服务SSL配置。
9.如权利要求1所述的方法,其特征在于,基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务,包括:
基于所述目标虚拟服务SSL配置提取交付策略;
根据所述交付策略将所述访问请求分发给后端服务器。
10.一种虚拟服务的匹配装置,其特征在于,包括:
报文模块,用于获取来自客户的访问请求报文;
版本模块,用于解析所述访问请求报文获取报文的协议版本号;
字段模块,用于解析所述访问请求报文中的扩展字段获取字段内容;
配置模块,用于根据所述协议版本号和所述字段内容确定目标虚拟服务SSL配置;
服务模块,用于基于所述目标虚拟服务SSL配置为所述客户提供虚拟服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310776391.5A CN116708539A (zh) | 2023-06-28 | 2023-06-28 | 虚拟服务的匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310776391.5A CN116708539A (zh) | 2023-06-28 | 2023-06-28 | 虚拟服务的匹配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116708539A true CN116708539A (zh) | 2023-09-05 |
Family
ID=87839055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310776391.5A Pending CN116708539A (zh) | 2023-06-28 | 2023-06-28 | 虚拟服务的匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116708539A (zh) |
-
2023
- 2023-06-28 CN CN202310776391.5A patent/CN116708539A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025940B2 (en) | Method and system for secure use of services by untrusted storage providers | |
CN111371549B (zh) | 一种报文数据传输方法、装置及系统 | |
US8539224B2 (en) | Obscuring form data through obfuscation | |
CN113179323B (zh) | 用于负载均衡设备的https请求处理方法、装置及系统 | |
CN112039826A (zh) | 一种应用于小程序端的登录方法和装置 | |
CN114826733B (zh) | 文件传输方法、装置、系统、设备、介质以及程序产品 | |
US9787624B2 (en) | Taking actions on notifications using an incomplete data set from a message | |
CN114049122A (zh) | 一种业务处理方法和系统 | |
CN113438256B (zh) | 一种基于双层ssl的数据传输方法、系统和代理服务器 | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
CN113761566A (zh) | 一种数据处理方法和装置 | |
CN116112172B (zh) | Android客户端gRPC接口安全校验的方法和装置 | |
CN114979105B (zh) | 通过ssl负载均衡设备自动识别国密和商密业务的方法和装置 | |
CN107707528B (zh) | 一种用户信息隔离的方法和装置 | |
CN113037760B (zh) | 报文发送方法和装置 | |
CN113706299B (zh) | 数据处理的方法、装置、电子设备及介质 | |
CN116708539A (zh) | 虚拟服务的匹配方法及装置 | |
CN112966286B (zh) | 用户登录的方法、系统、设备和计算机可读介质 | |
CN111984616B (zh) | 一种更新共享文件的方法、装置和系统 | |
CN110858243A (zh) | 用于网关的页面获取方法和装置 | |
JP2005301576A (ja) | データ通信システムの制御方法、データ通信システム、及び情報処理装置 | |
CN112613933A (zh) | 发票数据处理方法、装置、存储介质及电子设备 | |
CN113676482B (zh) | 数据传输系统和方法与基于双层ssl的数据传输系统和方法 | |
CN113626873B (zh) | 鉴权方法、装置、电子设备和计算机可读介质 | |
CN113037769B (zh) | 网络资源访问方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |