CN114666315B - 负载均衡设备的http请求处理方法及装置 - Google Patents

负载均衡设备的http请求处理方法及装置 Download PDF

Info

Publication number
CN114666315B
CN114666315B CN202210303212.1A CN202210303212A CN114666315B CN 114666315 B CN114666315 B CN 114666315B CN 202210303212 A CN202210303212 A CN 202210303212A CN 114666315 B CN114666315 B CN 114666315B
Authority
CN
China
Prior art keywords
cookie
value
http request
load balancing
matching table
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.)
Active
Application number
CN202210303212.1A
Other languages
English (en)
Other versions
CN114666315A (zh
Inventor
唐豪
孙艳杰
韩建奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202210303212.1A priority Critical patent/CN114666315B/zh
Publication of CN114666315A publication Critical patent/CN114666315A/zh
Application granted granted Critical
Publication of CN114666315B publication Critical patent/CN114666315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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

本公开涉及一种负载均衡设备的HTTP请求处理方法、装置、电子设备及计算机可读介质。该方法包括:负载均衡设备获取来自客户端的HTTP请求;解析所述HTTP请求获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;将所述HTTP请求发送至所述目标服务器以进行处理。本申请涉及的负载均衡设备的HTTP请求处理方法、装置、电子设备及计算机可读介质,能够提高负载均衡设备中Cookie加密技术的性能,降低设备计算资源损耗,提高整个Cookie加密会话保持的处理性能。

Description

负载均衡设备的HTTP请求处理方法及装置
技术领域
本申请涉及计算机信息处理领域,具体而言,涉及一种负载均衡设备的HTTP请求处理方法、装置、电子设备及计算机可读介质。
背景技术
在大多数的上层应用业务处理过程中,服务器和客户端之间并不是仅由一次通信业务交互处理就可以完成的,往往这个过程需要多次的事务交互处理才能达成。每一次交互必然是离不开通信双方的身份信息,故对于一个服务提供者而言,与某一个客户的通信往往是需要由特定、专一的服务器来完成,而不是由负载均衡设备将客户端请求转发至多台不同的服务设备上进行处理。作为负载设备,虽说会话保持的机制与其作用冲突,但会话保持机制是其重要的机制之一。因为只有支持部署了会话保持技术,才能避免客户与服务提供商之间的会话不会因负载设备而产生不可估量的问题。
会话保持技术目前来说是多种多样的,例如比较经典的源IP会话保持、目的IP会话保持这类基于不同IP地址的会话保持技术。往往不同的使用场景需要不同的会话保持技术,就HTTP协议而言,Cookie会话保持就是利用HTTP协议中的Cookie功能实现。Cookie会话保持按照不同的原理可分为插入模式、hash以及被动模式。以插入模式Cookie会话保持为例,该模式下的Cookie会话保持主要是由服务器在第一次收到客户端的请求时,负载设备会在http头部插入一个set-cookie字段记录包含用户的会话信息,当用户再次发起请求时会携带该cookie值,在负载设备收到带有Cookie信息的请求后会按照cookie中的信息转发请求,从而实现会话保持。
一般来讲,Cookie会话保持机制中的Cookie是包含有客户端信息。在cookie会话保持原理中,需要通过cookie验证客户端,以确定连接某服务端。在该过程中cookie已进行编码处理,但使用的是公开的基码变量机制。该机制使得可以攻击者可推断出负载均衡系统概况以及服务站点的数量等敏感信息,因此cookie会话保持需要支持cookie加密。
因此,需要一种新的负载均衡设备的HTTP请求处理方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种负载均衡设备的HTTP请求处理方法、装置、电子设备及计算机可读介质,能够提高负载均衡设备中Cookie加密技术的性能,降低设备计算资源损耗,提高整个Cookie加密会话保持的处理性能。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种负载均衡设备的HTTP请求处理方法,该方法包括:负载均衡设备获取来自客户端的HTTP请求;解析所述HTTP请求获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;将所述HTTP请求发送至所述目标服务器以进行处理。
在本申请的一种示例性实施例中,还包括:负载均衡设备获取来自服务器的HTTP响应;解析所述HTTP响应获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端;将所述HTTP请求发送至所述目标服务器以进行处理。
在本申请的一种示例性实施例中,解析所述HTTP请求获取Cookie字段,还包括:在所述HTTP请求中不包含Cookie字段时,根据基于调度算法为所述客户端的所述HTTP请求确定目标服务器。
在本申请的一种示例性实施例中,基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器,包括:基于所述Cookie字段的数值生成哈希值;在所述预设的匹配表中包含所述哈希值时,由所述匹配表中提取所述哈希值对应的明文值;基于所述明文值确定目标服务器。
在本申请的一种示例性实施例中,基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器,还包括:在所述预设的匹配表中不包含所述哈希值时,基于所述哈希值生成明文值;基于所述明文值和负载均衡算法确定目标服务器;将所述哈希值和所述明文值更新在所述匹配表中。
在本申请的一种示例性实施例中,基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器,还包括:基于所述哈希值生成所述HTTP请求的对话保持表项。
在本申请的一种示例性实施例中,基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端,包括:基于所述Cookie字段提取哈希值;在所述预设的匹配表中包含所述哈希值时,由所述匹配表中提取所述哈希值对应的密文值;基于所述密文值确定目标客户端。
在本申请的一种示例性实施例中,基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端,还包括:将所述密文值插入所述HTTP响应中。
在本申请的一种示例性实施例中,基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端,包括:在所述预设的匹配表中不包含所述哈希值时,基于所述哈希值生成密文值;将所述哈希值和所述密文值更新在所述匹配表中;基于所述密文值确定目标客户端。
根据本申请的一方面,提出一种负载均衡设备的HTTP请求处理装置,该装置包括:请求模块,用于负载均衡设备获取来自客户端的HTTP请求;字段模块,用于解析所述HTTP请求获取Cookie字段;目标模块,用于基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;发送模块,用于将所述HTTP请求发送至所述目标服务器以进行处理。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的负载均衡设备的HTTP请求处理方法、装置、电子设备及计算机可读介质,通过负载均衡设备获取来自客户端的HTTP请求;解析所述HTTP请求获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;将所述HTTP请求发送至所述目标服务器以进行处理的方式,能够提高负载均衡设备中Cookie加密技术的性能,降低设备计算资源损耗,提高整个Cookie加密会话保持的处理性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的一种负载均衡设备的HTTP请求处理方法及装置的示意图。
图2是现有技术中的一种负载均衡设备的HTTP请求处理方法及装置的示意图。
图3是根据一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法及装置的系统框图。
图4是根据一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法的流程图。
图5是根据另一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法的流程图。
图6是根据另一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法的流程图。
图7是根据一示例性实施例示出的一种负载均衡设备的HTTP请求处理装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
图9是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
由于HTTP协议是无状态的,因此同一用户第二次访问同一服务器上的资源时,服务器的响应与第一次被访问时相同。但是在实际工作中,一些网站却希望能够记住识别用户。要做到这点,就可以在HTTP中使用Cookie。服务器通过Cookie标明用户的身份。用户访问一个服务站点时,这个服务站点就可以读取对应服务器的所有Cookie内容。
用户首次访问服务站点时,服务器对用户一无所知。服务器希望用户能再次访问,并给用户贴上一个独有的Cookie,这样用户再次访问就能识别该用户了。通过Set-CookieHTTP相应(扩展)首部将其贴到用户身上去。
Cookie中可以包含任意信息,但它们通常都只包含一个服务器为了进行跟踪而产生的独特的识别码。服务器可将一个表示id=“123”的Cookie贴到用户上。服务器使用这个数字来查找服务器为其访问者积累的数据库信息。其Cookie值还可以直接保存很多Web服务器信息。浏览器记住从服务器返回的Set-Cookie首部中的Cookie内容,并将Cookie保存起来。用户再次访问同一站点时,浏览器会选中对应服务器的Cookie值,并在请求首部中将Cookie值传回去。
基于Cookie的会话保持就是通过Cookie的内容将访问请求会话分配至对应的服务器上。Cookie会话保持主要分为三种模式:插入模式、Hash模式、被动模式。
对于插入模式而言,其工作原理为:在虚拟服务发起HTTP请求时并没有cookie字段,ADX负载设备直接根据调度算法分发至服务器,即完成第一正向会话请求,随后在服务端响应的反向请求过程中,负载均衡设备收到未携带Cookie的服务端响应后插入一个包含服务端信息的Cookie。该Cookie值需经过编码后才插HTTP报文的头部。随后负载均衡设备将带有Cookie的响应报文转发至客户端。在此之后的会话过程中,客户端发起的请求报文就会带有之前接收到的Cookie值,在负载均衡设备收到后即可根据Cookie值选择服务端转发,达成同一个客户端的请求由同一服务器响应,具体过程如图1所示。
Hash模式Cookie会话保持不同于插入模式的核心之处在于根据服务器回应的Cookie值的一定字节数,决定对应的后台服务器来处理请求,并将请求发送至指定的服务器。请求转发是根据服务端发送的Cookie值建立hash表项进行会话匹配。如图2所示,在客户端发起的一次请求过程是没有Cookie的参与,随后服务端的第一次响应报文中会携带由服务端产生的Hash Cookie,负载均衡设备根据此Cookie建立一个Hash表项。在第二次反向过程中
而被动模式则由服务器插入CoCookie加密优化okie值,其格式按照负载均衡格式要求填写,为服务器的IP地址与端口的组合,ADX不需要做任何修改。
现有的加密技术则是在上述原理Cookie加密优化中对Cookie进行简单的加密处理,当前的Cookie加密技术则是通过简单的AES算法对经Base64编码的Cookie进行加密计算后再插入HTTP协议报文中。再进行随后的处理。具体过程为:负载设备从服务器响应中解析出未加密的cookie,然后先通过AES(192bit)对称密钥算法加密cookie,再通过base64编码机制编码,最后将加密后的cookie插入HTTP响应中发送给客户端。在随后的请求中,客户端提交加密的cookie给负载设备。负载设备先取出cookie,使用Base64编码机制解码,再解密。负载设备随后重新将解密后的cookie嵌入HTTP请求中发送给服务端。
本案申请人通过对现有技术的详细分析,认为:
1、现有技术方案中所设定的Cookie值编码处理后由CBC模式的AES进行加解密,该种加密方式无法进行并行计算,加解密效率较低。
2、在Cookie加密技术中,每一次加密都需要对应解密。在对Cookie进行加解密的过程会降低转发性能,产生额外的开销。
有鉴于现有技术中的技术问题,本申请提出了负载均衡设备的HTTP请求处理方法、装置,的目的在于降低Cookie加密技术的性能损耗,提高Cookie加密会话保持的性能,通过优化后的Cookie加密技术降低每次交互过程的复杂度,减少负载均衡设备的计算资源损耗,提升负载性能。
下面借助具体的实施例,对本申请的内容进行详细说明。
图3是根据一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法、装置的系统框图。
如图3所示,系统架构30可以包括终端设备301、302、303,网络304和负载均衡设备305、服务器306、307、308。网络304用以在终端设备303、302、303和负载均衡设备305之间、负载均衡设备305和服务器306、307、308提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备303、302、303通过负载均衡设备305与服务器306、307、308交互,以接收或发送消息等。终端设备303、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备303、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器306、307、308可以是提供各种服务的服务器,例如对用户利用终端设备303、302、303所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备303、302、303。
负载均衡设备305可例如负载均衡设备获取来自客户端的HTTP请求;负载均衡设备305可例如解析所述HTTP请求获取Cookie字段;负载均衡设备305可例如基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;负载均衡设备305可例如将所述HTTP请求发送至所述目标服务器以进行处理。
负载均衡设备305可例如负载均衡设备获取来自服务器的HTTP响应;负载均衡设备305可例如解析所述HTTP响应获取Cookie字段;负载均衡设备305可例如基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端;负载均衡设备305可例如将所述HTTP请求发送至所述目标服务器以进行处理。
负载均衡设备305可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本申请实施例所提供的负载均衡设备的HTTP请求处理方法可以由负载均衡设备305执行,相应地,负载均衡设备的HTTP请求处理装置可以设置于负载均衡设备305中。
在一个实施例中,Cookie加密优化是通过Cookie加密值的记录实现加密技术的优化。针对不同模式的Cookie会话保持机制,具体通过两种处理方式确保不影响会话保持效果的前提下进行。
按照前文所述,插入模式Cookie会话保持是由负载均衡设备插入到HTTP报文中的,因此在转发至服务端时需要去掉所插入的Cookie。基于此,在进行Cookie加密时,只需要记录每次会话建立时所插入Cookie的密文即可,不需要再进行额外的处理。负载均衡设备正向处理具体优化处理步骤如图4所述。可首先按照IP、端口计算Cookie;然后使用Base64对Cookie进行编码;通过CTR计数器模式的AES算法对编码后的Cookie进行加密;按照每会话记录一个以密文为键,明文为值的HASH键值对,用于反向解密过程;按照每会话记录一个以明文为键,密文为值的HASH键值对,用于正向加密过程。
图4是根据一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法的流程图。负载均衡设备的HTTP请求处理方法40至少包括步骤S404至S408。
如图4所示,在S402中,负载均衡设备获取来自客户端的HTTP请求。
在S404中,解析所述HTTP请求获取Cookie字段。
在一个实施例中,在所述HTTP请求中不包含Cookie字段时,根据基于调度算法为所述客户端的所述HTTP请求确定目标服务器。
在S406中,基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器。Cookie会话保持机制中使用负载均衡设备存储Cookie密文-明文、Cookie明文-密文Hash键值对,更具体的可将其存储在匹配表中。
在本申请中,通过Cookie密文-明文、明文-密文Hash键值对实现Cookie密文、明文的快速检索。通过Cookie密文-明文、明文-密文Hash键值实现Cookie会话保持的加密优化,提高处理机制性能,实现了对Cookie加密会话保持的优化。
更具体的,可基于所述Cookie字段的数值生成哈希值;在所述预设的匹配表中包含所述哈希值时,由所述匹配表中提取所述哈希值对应的明文值;基于所述明文值确定目标服务器。
在一个实施例中,还包括:在所述预设的匹配表中不包含所述哈希值时,基于所述哈希值生成明文值;基于所述明文值和负载均衡算法确定目标服务器;将所述哈希值和所述明文值更新在所述匹配表中。
还可例如,基于所述哈希值生成所述HTTP请求的对话保持表项。
在S408中,将所述HTTP请求发送至所述目标服务器以进行处理。
在插入模式会话保持的随后请求过程中,负载均衡设备按照建立的会话,解析收到报文中的Cookie值,再通过该值匹配其对应的明文,随后将HTTP请求报文中的密文Cookie去除,按照明文解析出应当分配的服务端。在接下来的交互过程中,当需要插入Cookie值至响应报文中时即根据明文Cookie查找密文即可。根据此处理,使用插入模式Cookie会话保持的负载均衡设备可以仅在建立会话之初进行加密计算即可。在随后Cookie值有效时间内均不需要再进行计算,大大降低计算损耗,仅增加了少量的内存消耗便可提高整个插入模式Cookie会话保持机制的性能。
根据本申请的负载均衡设备的HTTP请求处理方法,通过负载均衡设备获取来自客户端的HTTP请求;解析所述HTTP请求获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;将所述HTTP请求发送至所述目标服务器以进行处理的方式,能够提高负载均衡设备中Cookie加密技术的性能,降低设备计算资源损耗,提高整个Cookie加密会话保持的处理性能。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图5是根据另一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法的流程图。图5所示的流程50是对图4所示的流程的补充描述。
如图5所示,在S502中,负载均衡设备获取来自服务器的HTTP响应。
在S504中,解析所述HTTP响应获取Cookie字段。
在S506中,基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端。可例如,基于所述Cookie字段提取哈希值;在所述预设的匹配表中包含所述哈希值时,由所述匹配表中提取所述哈希值对应的密文值;基于所述密文值确定目标客户端。
在一个实施例中,还可将所述密文值插入所述HTTP响应中。
在一个实施例中,还在所述预设的匹配表中不包含所述哈希值时,基于所述哈希值生成密文值;将所述哈希值和所述密文值更新在所述匹配表中;基于所述密文值确定目标客户端。
在S508中,将所述HTTP请求发送至所述目标服务器以进行处理。
在一个实施例中,启用Hash模式的Cookie会话保持加密机制需要更换服务端插入HTTP响应报文的Cookie值为密文Cookie后发送至客户端。转发给服务端的报文则需要将原Cookie在请求报文中携带以防止会话断开。在Hash模式Cookie会话保持机制中需要根据Cookie建立Hash表项,并以此匹配服务端,因此在正向处理过程中具体优化处理步骤如下:
提取会话第一次响应报文中的Cookie;建立Hash会话保持表项;使用Base64对Cookie进行编码;通过CTR计数器模式的AES算法对编码后的Cookie进行加密;按照每会话记录一个以密文为键,明文为值的HASH键值对,用于反向解密过程;按照每会话记录一个以明文Cookie加密优化为键,密文为值的HASH键值对,用于正向加密过程。
在随后使用Hash模式会话保持的会话交互过程中,HTTP响应报文中直接根据服务端所设置Cookie明文检索密文插入,同时根据明文建立表项。同样HTTP请求报文中则按照客户端所携带的Cookie密文索引密文,并将对应的Cookie字段替换为适配的明文Cookie,根据所检索出的明文Cookie匹配服务端即可达成会话保持。一次完整的Cookie加密优化机制的交互过程如图6所示。
图6是根据另一示例性实施例示出的一种负载均衡设备的HTTP请求处理方法的流程图。图6所示的流程60是对图4所示的流程的详细描述。
如图6所示,在S601中,客户端发起HTTP请求。
在S602中,负载均衡设备解析报文查看是否有Cookie字段。
在S603中,提取Cookie字段的值。
在S604中,计算Cookie值对应的hash。
在S605中,判断该hash是否已经存在。
在S606中,确定hash对应的Cookie明文值。
在S607中,按照Cookie明文值匹配服务器。
在S608中,根据调度算法选择目标服务器。
在S609中,服务器发送HTTP响应。
在S610中,负载均衡设备根据HTTP响应获取Cookie字段的值。
在S611中,判断是否存在Cookie字值对应的hash。
在S612中,检索Cookie密文值,并插入HTTP响应报文中。
在S613中,转发HTTP响应报文。
在S614中,计算出Cookie字值对应的密文值。
在S615中,建立Cookie字值和密文值的键值对。
本申请的负载均衡设备的HTTP请求处理方法,在于可以提高负载均衡设备中Cookie加密技术的性能,降低设备计算资源损耗,以极小的存储损耗为代价,极大地提高了整个Cookie加密会话保持的处理性能,使得Cookie会话保持即拥有原处理流程的性能,又兼具设备信息安全保护。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7是根据另一示例性实施例示出的一种负载均衡设备的HTTP请求处理装置的框图。如图7所示,负载均衡设备的HTTP请求处理装置70包括:请求模块702,字段模块704,目标模块706,发送模块708。
请求模块702用于负载均衡设备获取来自客户端的HTTP请求;
字段模块704用于解析所述HTTP请求获取Cookie字段;
目标模块706用于基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;
发送模块708用于将所述HTTP请求发送至所述目标服务器以进行处理。
根据本申请的负载均衡设备的HTTP请求处理装置,通过负载均衡设备获取来自客户端的HTTP请求;解析所述HTTP请求获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;将所述HTTP请求发送至所述目标服务器以进行处理的方式,能够提高负载均衡设备中Cookie加密技术的性能,降低设备计算资源损耗,提高整个Cookie加密会话保持的处理性能。
图8是根据一示例性实施例示出的一种电子设备的框图。
下面参照图8来描述根据本申请的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:至少一个处理单元810、至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图4,图5,图6中所示的步骤。
所述存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
所述存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备800’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备800交互的设备通信,和/或该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器860可以通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图9所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
总体而言,本公开使用负载均衡设备存储Cookie密文-明文、Cookie明文-密文Hash键值对,实现Cookie会话保持的加密优化,提高处理机制性能,实现了对Cookie加密会话保持的优化。通过Cookie密文-明文、明文-密文Hash键值对实现Cookie密文、明文的快速检索。因此,本公开也涉及一种Cookie加密优化方法和系统。具体而言,Cookie加密优化是通过Cookie加密值的记录实现加密技术的优化。针对不同模式的Cookie会话保持机制,具体通过两种处理方式确保不影响会话保持效果的前提下进行。按照前文所述,插入模式Cookie会话保持是由负载均衡设备插入到HTTP报文中的,因此在转发至服务端时需要去掉所插入的Cookie。基于此,在进行Cookie加密时,只需要记录每次会话建立时所插入Cookie的密文即可,不需要再进行额外的处理。负载均衡设备正向处理具体优化处理步骤包括:按照IP、端口计算Cookie;使用Base64对Cookie进行编码;通过CTR计数器模式的AES算法对编码后的Cookie进行加密;按照每会话记录一个以密文为键,明文为值的HASH键值对,用于反向解密过程;按照每会话记录一个以明文为键,密文为值的HASH键值对,用于正向加密过程。在插入模式会话保持的随后请求过程中,负载均衡设备按照建立的会话,解析收到报文中的Cookie值,再通过该值匹配其对应的明文,随后将HTTP请求报文中的密文Cookie去除,按照明文解析出应当分配的服务端。在接下来的交互过程中,当需要插入Cookie值至响应报文中时即根据明文Cookie查找密文即可。根据此处理,使用插入模式Cookie会话保持的负载均衡设备可以仅在建立会话之初进行加密计算即可。在随后Cookie值有效时间内均不需要再进行计算,大大降低计算损耗,仅增加了少量的内存消耗便可提高整个插入模式Cookie会话保持机制的性能。类似地,启用Hash模式的Cookie会话保持加密机制需要更换服务端插入HTTP响应报文的Cookie值为密文Cookie后发送至客户端。转发给服务端的报文则需要将原Cookie在请求报文中携带以防止会话断开。在Hash模式Cookie会话保持机制中需要根据Cookie建立Hash表项,并以此匹配服务端,因此在正向处理过程中具体优化处理步骤包括:提取会话第一次响应报文中的Cookie;建立Hash会话保持表项;使用Base64对Cookie进行编码;通过CTR计数器模式的AES算法对编码后的Cookie进行加密;按照每会话记录一个以密文为键,明文为值的HASH键值对,用于反向解密过程;按照每会话记录一个以明文Cookie加密优化为键,密文为值的HASH键值对,用于正向加密过程。在随后使用Hash模式会话保持的会话交互过程中,HTTP响应报文中直接根据服务端所设置Cookie明文检索密文插入,同时根据明文建立表项。同样HTTP请求报文中则按照客户端所携带的Cookie密文索引密文,并将对应的Cookie字段替换为适配的明文Cookie,根据所检索出的明文Cookie匹配服务端即可达成会话保持。一次完整的Cookie加密优化机制的交互过程。本公开可以提高负载均衡设备中Cookie加密技术的性能,降低设备计算资源损耗,以极小的存储损耗为代价,极大地提高了整个Cookie加密会话保持的处理性能,使得Cookie会话保持即拥有原处理流程的性能,又兼具设备信息安全保护。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:负载均衡设备获取来自客户端的HTTP请求;解析所述HTTP请求获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;将所述HTTP请求发送至所述目标服务器以进行处理。该计算机可读介质还可实现如下功能:负载均衡设备获取来自服务器的HTTP响应;解析所述HTTP响应获取Cookie字段;基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端;将所述HTTP请求发送至所述目标服务器以进行处理。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (7)

1.一种负载均衡设备的HTTP请求处理方法,其特征在于,包括:
负载均衡设备获取来自客户端的HTTP请求;
解析所述HTTP请求获取Cookie字段;
使用Base64对Cookie进行编码
通过CTR计数器模式的AES算法对编码后的Cookie进行加密;
基于所述Cookie字段的数值生成哈希值,在预设的匹配表中包含所述哈希值时,由所述匹配表中提取所述哈希值对应的明文值;在所述预设的匹配表中不包含所述哈希值时,基于所述哈希值生成明文值,以及基于所述哈希值生成所述HTTP请求的对话保持表项,基于所述明文值和负载均衡算法确定目标服务器,以及将所述哈希值和所述明文值更新在所述匹配表中,由此,针对每会话记录一个以密文为键,明文为值的哈希键值对,用于反向解密过程,以及针对每会话记录一个以明文为键,密文为值的哈希键值对,用于正向加密过程,从而基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;
将所述HTTP请求发送至所述目标服务器以进行处理。
2.如权利要求1所述的方法,其特征在于,还包括:
负载均衡设备获取来自服务器的HTTP响应;
解析所述HTTP响应获取Cookie字段;
基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端;
将所述HTTP请求发送至所述目标服务器以进行处理。
3.如权利要求1所述的方法,其特征在于,解析所述HTTP请求获取Cookie字段,还包括:
在所述HTTP请求中不包含Cookie字段时,根据基于调度算法为所述客户端的所述HTTP请求确定目标服务器。
4.如权利要求2所述的方法,其特征在于,基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端,包括:
基于所述Cookie字段提取哈希值;
在所述预设的匹配表中包含所述哈希值时,由所述匹配表中提取所述哈希值对应的密文值;
基于所述密文值确定目标客户端。
5.如权利要求4所述的方法,其特征在于,基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端,还包括:
将所述密文值插入所述HTTP响应中。
6.如权利要求4所述的方法,其特征在于,基于所述Cookie字段和预设的匹配表为所述服务器的HTTP响应确定目标客户端,包括:
在所述预设的匹配表中不包含所述哈希值时,基于所述哈希值生成密文值;
将所述哈希值和所述密文值更新在所述匹配表中;
基于所述密文值确定目标客户端。
7.一种负载均衡设备的HTTP请求处理装置,其特征在于,包括:
请求模块,用于负载均衡设备获取来自客户端的HTTP请求;
字段模块,用于解析所述HTTP请求获取Cookie字段;
目标模块,用于基于所述Cookie字段的数值生成哈希值,在预设的匹配表中包含所述哈希值时,由所述匹配表中提取所述哈希值对应的明文值;在所述预设的匹配表中不包含所述哈希值时,基于所述哈希值生成明文值,以及基于所述哈希值生成所述HTTP请求的对话保持表项,基于所述明文值和负载均衡算法确定目标服务器,以及将所述哈希值和所述明文值更新在所述匹配表中,由此,针对每会话记录一个以密文为键,明文为值的哈希键值对,用于反向解密过程,以及针对每会话记录一个以明文为键,密文为值的哈希键值对,用于正向加密过程,从而基于所述Cookie字段和预设的匹配表为所述客户端的所述HTTP请求确定目标服务器;
发送模块,用于将所述HTTP请求发送至所述目标服务器以进行处理。
CN202210303212.1A 2022-03-24 2022-03-24 负载均衡设备的http请求处理方法及装置 Active CN114666315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210303212.1A CN114666315B (zh) 2022-03-24 2022-03-24 负载均衡设备的http请求处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210303212.1A CN114666315B (zh) 2022-03-24 2022-03-24 负载均衡设备的http请求处理方法及装置

Publications (2)

Publication Number Publication Date
CN114666315A CN114666315A (zh) 2022-06-24
CN114666315B true CN114666315B (zh) 2023-09-12

Family

ID=82031020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210303212.1A Active CN114666315B (zh) 2022-03-24 2022-03-24 负载均衡设备的http请求处理方法及装置

Country Status (1)

Country Link
CN (1) CN114666315B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814204B1 (en) * 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
CN106453661A (zh) * 2016-12-09 2017-02-22 北京酷我科技有限公司 一种http服务器集群的会话管理方法
CN110086886A (zh) * 2019-05-14 2019-08-02 北京天融信网络安全技术有限公司 动态会话保持方法及装置
CN112954047A (zh) * 2021-02-08 2021-06-11 上海弘积信息科技有限公司 一种通过负载均衡设备进行cookie加密的方法
CN113179323A (zh) * 2021-04-29 2021-07-27 杭州迪普科技股份有限公司 用于负载均衡设备的https请求处理方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150189010A1 (en) * 2013-12-30 2015-07-02 Alcatel-Lucent Canada Inc. Communication network with load balancing functionality

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814204B1 (en) * 2002-02-11 2010-10-12 Extreme Networks, Inc. Method of and system for analyzing the content of resource requests
CN106453661A (zh) * 2016-12-09 2017-02-22 北京酷我科技有限公司 一种http服务器集群的会话管理方法
CN110086886A (zh) * 2019-05-14 2019-08-02 北京天融信网络安全技术有限公司 动态会话保持方法及装置
CN112954047A (zh) * 2021-02-08 2021-06-11 上海弘积信息科技有限公司 一种通过负载均衡设备进行cookie加密的方法
CN113179323A (zh) * 2021-04-29 2021-07-27 杭州迪普科技股份有限公司 用于负载均衡设备的https请求处理方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向用户体验的动态负载均衡算法研究;郑晓辉;史骁;金岩;宋永浩;唐宏伟;赵晓芳;《高技术通讯》;第31卷(第4期);359-366 *

Also Published As

Publication number Publication date
CN114666315A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
US10063528B2 (en) Searchable encryption enabling encrypted search based on document type
US8589484B2 (en) Method for optimizing a web content proxy server and devices thereof
US9430671B2 (en) Method and apparatus for privacy protected clustering of user interest profiles
CN113228011A (zh) 数据共享
CN113179323B (zh) 用于负载均衡设备的https请求处理方法、装置及系统
US9473592B2 (en) Methods for optimizing a web content proxy server and devices thereof
CN114826733B (zh) 文件传输方法、装置、系统、设备、介质以及程序产品
CN112187801A (zh) 网站访问方法、装置及系统
US10372710B2 (en) Using metadata to take action on an SMS message on a proprietary system
CN116821461B (zh) 资源查询方法以及装置
JP2015090993A (ja) 暗号制御装置、暗号制御方法、及びプログラム
WO2024060630A1 (zh) 数据传输管理的方法、数据处理的方法和装置
US20090150978A1 (en) Access control of content syndication
CN114666315B (zh) 负载均衡设备的http请求处理方法及装置
CN114840739B (zh) 信息检索方法、装置、电子设备及存储介质
CN112925850B (zh) 一种区块链数据加密上链共享方法及装置
CN115250467A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
CN112637316B (zh) 一种通信方法及装置
CN114726564B (zh) 安全检测方法、安全检测装置、电子设备及介质
CN113824696B (zh) portal认证方法及装置
CN111783044B (zh) 一种共享登录态的方法和装置
CN116827632A (zh) 用于传输层安全协议的应用数据消息处理方法及装置
CN116881516A (zh) 企业信息的匿踪查询方法、装置、设备及介质
CN116781256A (zh) 机构数据的兼容交互方法、装置、设备及存储介质
CN117014531A (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
GR01 Patent grant
GR01 Patent grant