CN113381979B - 一种访问请求代理方法及代理服务器 - Google Patents
一种访问请求代理方法及代理服务器 Download PDFInfo
- Publication number
- CN113381979B CN113381979B CN202110516284.XA CN202110516284A CN113381979B CN 113381979 B CN113381979 B CN 113381979B CN 202110516284 A CN202110516284 A CN 202110516284A CN 113381979 B CN113381979 B CN 113381979B
- Authority
- CN
- China
- Prior art keywords
- domain name
- proxy
- request
- cookie information
- application
- 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
Links
Images
Classifications
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种访问请求代理方法及代理服务器,其中,所述方法包括:接收客户端发来的访问请求,判断所述访问请求中携带的cook i e信息与所述代理cook i e信息是否一致;若一致,验证所述访问请求中的用户信息,并在所述用户信息通过验证后,读取与所述访问请求相关联的所述原始cook i e信息;在利用所述原始cook i e信息替换所述访问请求中携带的cook i e信息,以及将所述访问请求的请求域名替换为对应的应用域名后,将替换后的所述访问请求转发至所述应用域名指向的应用服务器。本申请提供的技术方案,能够有效网络访问的安全性。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种访问请求代理方法及代理服务器。
背景技术
随着交互式web应用的兴起,与web应用相关的网络安全问题也引起关注。目前,客户端在与web应用进行交互时,可以通过cookie等信息来标识用户身份,从而简化交互过程,避免重复鉴权。
web应用反馈给用户的信息中,通常会包含cookie、sessionID和token等,如果web应用直接将这部分信息提供给用户,会存在这些信息被劫持的风险。鉴于此,目前亟需一种能够保护用户身份信息的访问请求代理方法。
发明内容
本申请的目的在于提供一种访问请求代理方法及代理服务器,能够有效地保障用户的身份信息。
为实现上述目的,本申请一方面提供一种访问请求代理方法,所述方法应用于代理服务器中,所述代理服务器在本地存储原始cookie信息和代理cookie信息,并将所述原始cookie信息与所述代理cookie信息相关联;所述方法包括:接收客户端发来的访问请求,并判断所述访问请求中携带的cookie信息与所述代理cookie信息是否一致;若一致,验证所述访问请求中的用户信息,并在所述用户信息通过验证后,读取与所述代理cookie信息相关联的所述原始cookie信息;在利用所述原始cookie信息替换所述访问请求中携带的所述代理cookie信息,以及将所述访问请求的请求域名替换为对应的应用域名后,将进行cookie信息替换和域名替换后的访问请求转发至所述应用域名指向的应用服务器。
为实现上述目的,本申请另一方面还提一种代理服务器,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的访问请求代理方法。
由上可见,本申请提供的技术方案,代理服务器可以将应用服务器反馈的原始cookie信息保存在本地,并且不暴露给用户,并基于新生成的代理cookie信息以及用户信息对用户的访问请求进行合法性验证,只将验证通过的访问请求转发给应用服务器处理,如此一来,客户端与代理服务器之间的通信过程,只涉及代理cookie信息,而不涉及原始cookie信息,那么就算该代理cookie信息被劫持,也不会泄露真实的原始cookie信息,从而保障了通信的安全。
在一实施中,所述方法还包括:若所述访问请求中携带的cookie信息与所述代理cookie信息不一致,或者所述代理cookie信息已失效,或者所述用户信息未通过验证,则拒绝转发所述访问请求。
在一实施中,所述方法还包括,在接收所述访问请求之前,还包括:接收所述客户端发来的认证请求,在将所述认证请求的请求域名替换为对应的应用域名后,向替换后的所述请求域名指向的应用服务器转发替换后的所述认证请求;接收所述应用服务器反馈的认证响应数据,所述认证响应数据中包含原始cookie信息设置项;基于所述原始信息设置项在本地设置对应原始cookie信息,对应生成代理cookie信息设置项,在利用所述代理cookie信息设置项替换所述认证响应数据中的所述原始cookie信息设置项,以及将所述认证响应数据中的应用域名替换为对应的代理域名后,将替换后的所述认证响应数据提供给所述客户端。
在一实施中,所述方法还包括:提取所述认证请求中的用户信息,并保存在本地。
在一实施中,所述代理服务器中包含域名映射表,所述域名映射表用于表征代理域名与应用域名之间的映射关系;基于所述域名映射表,将所述认证请求的请求域名替换为对应的应用域名,并将所述认证响应数据中的应用域名替换为对应的代理域名。
在一实施中,所述代理服务器中配置有转换规则;将所述认证请求的请求域名替换为对应的应用域名包括:提取所述代理域名中除泛域名之外的标识信息,并基于所述转换规则,将所述标识信息转换为对应的应用域名;将所述认证响应数据中的应用域名替换为对应的代理域名包括:基于所述转换规则,将所述应用域名转换为对应的标识信息,并将转换得到的标识信息与代理域名的泛域名的组合,作为所述应用域名对应的代理域名。
在一实施中,所述对应生成代理cookie信息设置项包括:获取所述认证请求的请求时间;基于所述原始cookie信息、所述请求时间生成代理cookie信息,基于所述代理cookie信息生成所述代理cookie信息设置项,其中所述代理cookie设置项中指示所述代理cookie信息与代理域名的泛域名进行绑定。
在一实施中,在接收客户端发来的认证请求之前,所述方法还包括:接收客户端发来的登录请求,在将所述登录请求中的请求域名替换为对应的应用域名后,向所述替换后的请求域名指向的应用服务器发送替换后的所述登录请求;接收所述应用服务器反馈的登录页面数据,在将所述登录页面数据中的应用域名替换为对应的代理域名后,将域名替换后的登录页面数据提供给所述客户端。
在一实施中,所述代理域名替换为对应的应用域名,以及将应用域名替换为对应的代理域名的过程中,包含网络协议的替换。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例所提供的数据访问系统的架构示意图;
图2是本申请另一实施例所提供的数据访问系统的架构示意图;
图3是本申请一实施例所提供的登录认证方法的流程图;
图4是本申请一实施例所提供的访问请求代理方法流程图;
图5是本申请一实施例所提供的代理服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请实施例提供一种访问请求代理方法,该方法可以应用于如图1所示的系统架构中。请参阅图1,该系统架构中可以包括客户端、代理服务器、DNS服务器、以及应用服务器。
其中,客户端可以是用户的终端设备,如手机、电脑等电子设备,用户可通过安装在客户端的浏览器发送访问请求。
应用服务器可以为部署在内网的源站服务器,运行有提供服务的应用程序,用于对访问请求进行响应。
代理服务器可以作为VPN网关,接收客户端的各项请求,并可通过VPN网络与应用服务器建立通信连接,以将客户端发送的请求转发至对应的应用服务器,并接收应用服务器反馈的响应数据,进而将响应数据发送至客户端。可见,代理服务器可实现客户端与应用服务器之间的数据代理。值得注意的是,在一个实施方式中,代理服务器通过VPN网络与应用服务器建立通信连接,其中所使用的VPN网络可基于SD-WAN(Software-Defined WideArea Network)技术实现。
DNS服务器可提供DNS解析服务,在本申请的实施例中,可通过在DNS服务器上配置域名解析规则,将泛域名为代理域名的域名解析请求对应的解析地址配置为代理服务器的IP地址。
在图1所示的系统架构中,客户端如果需要访问应用服务器中的资源,需要先向应用服务器发起登录认证请求,以通过应用服务器发起的认证。应用服务器在完成鉴权之后,可以响应于客户端的访问请求,提供对应的资源。
而在另一个应用场景中,请参阅图2,多个应用服务器可以共同接入一个鉴权服务器。当客户端想要访问这些应用服务器中任意一个应用服务器的资源时,通过鉴权服务器的鉴权认证。鉴权服务器在完成鉴权后,可以允许代理服务器将客户端的资源访问请求转发至对应的应用服务器处。
可见,在实际应用场景中包含直接由应用服务器对客户端的用户身份进行鉴权的方式,也可以包含由鉴权服务器对用户身份进行鉴权的方式,举例来说,如果当前的各个web应用都是相互独立的,那么每个web应用的应用服务器可以完成各自的鉴权过程。而如果当前的各个web应用其实都是同一个企业或单位提供的,这些web应用之间可以共享用户身份信息,那么这些web应用就可以接入同一个鉴权服务器,由该鉴权服务器统一进行用户身份信息的验证,并且在验证通过之后,用户的客户端便可以访问其中任意的web应用,而不需要经过额外的鉴权过程。
本申请一个实施方式以图1所示的系统架构为基础,阐述本申请的技术方案。本领域技术人员应当知晓,通过对图1所示的系统架构中各个主体的交互过程进行合理转变,也能够得到图2所示的系统架构中各个主体之间的交互过程,因此在理解本申请技术方案精髓的情况下,在图2所示的系统架构或者其它变形的系统架构中实现本申请的技术方案,也应当属于本申请的保护范围内。
本申请一个实施方式提供的访问请求代理方法,可以应用于上述的代理服务器中,其中,代理服务器在本地存储有原始cookie信息和代理cookie信息,首先该些原始cookie信息和代理cookie信息是在用户发出访问请求前,代理服务器对用户进行登录鉴权进行代理的过程中获取的,请参阅图3,本申请实施例中,代理服务器对用户的登录鉴权方法可以包括以下步骤。
S301:接收客户端发来的登录请求,在将所述登录请求的请求域名替换为对应的应用域名后,向所述替换后的请求域名指向的应用服务器转发替换后的所述登录请求。
在本实施方式中,客户端需要访问目标应用的资源时,会先发起针对该目标应用的登录请求,其中,该登录页面对应的访问域名已被替换为实际应用域名对应的代理域名并提供给用户,也就是说,该登录请求中的请求域名为实际应用域名对应的代理域名,当用户发出该登录请求时,目的地址会被DNS服务器解析为代理服务器的地址,因此,该登录请求可被代理服务器接收。
其中,登录页面所指向的应用域名与对应的代理域名之间的映射关系是预先配置在代理服务器本地的,因此,代理服务器在接收到登录请求时,可从本地记录中查询与请求域名对应的应用域名,从而确定出处理该登录请求的应用服务器,然后,可将登录请求中的请求域名替换为查询得到的应用域名,并将替换后的登录请求转发至应用域名指向的应用服务器,即目标应用的应用服务器。
值得注意的是,若代理服务器无法在本地记录中查询到请求域名对应的应用域名,则识别该登录请求不合法,不予处理。
在一个实施方式中,可以预先在代理服务器中预先注册域名映射表。该域名映射表中可以建立不同的代理域名与不同的应用域名之间的映射关系。当代理服务器识别出登录请求中的请求域名为代理域名时,可以从域名映射表中查询到与该请求域名具备映射关系的应用域名,并进行域名的替换过程。例如,登录请求中的请求域名为b.vpn.com,其中泛域名*.vpn.com为代理域名,那么可识别b.vpn.com为一代理域名,通过查找域名映射表,确定b.vpn.com对应的应用域名为hr.ws.com,进而将登录认证请求中的请求域名b.vpn.com替换为hr.ws.com。
在实际应用过程中,用户需要访问内网应用服务器必须先通过应用服务器的鉴权认证,如上文所述,鉴权的过程,可由各应用服务器执行,也可以同一由鉴权服务器执行,而无论是哪种鉴权方式,提供鉴权服务的服务器一般都是固定的,如此,代理服务提供商可预先获知该写服务器的域名信息,并对其进行改写,生成对应的代理域名,建立映射关系保存在本地,并将登录请求所需访问的应用域名对应的代理域名提供给用户,使得用户可基于代理域名发出登录请求。
在具体实施中,可以在代理服务器对应用域名进行改写生成对应的代理域名的方式可包含基于预先配置的转换规则来实现,具体而言,转换规则可基于实际需求进行设定,在一种实施方式中,可以基于预设算法对应用域名进行计算得到对应的结果,并以该结果作为泛域名的子域名以生成对应的新的代理域名,例如,应用域名为customer.ws.com,基于预设算法计算后的结果为result1,那么可生成对应的代理域名result1.vpn.com,其中预设算法可散列算法,或其他算法,只需保证不同的输入值对应的输出结果不同即可。
可以理解的是,在一些算法应用中,代理服务器可以基于转换规则对代理域名进行逆运算,以还原出代理域名对应的应用域名,如此一来,代理服务器本地无需保存应用域名与代理域名之间的映射关系,直接基于对应的计算方式获取对应的结果即可,从而实现代理域名与应用域名之间进行相互转换,该实施方式,更适用于应用域名需要更新的场景。
在本实施方式中,通过上述的方式,代理服务器可以将登录请求中的请求域名替换为对应的应用域名之后,向应用域名指向的应用服务器,即目标应用的应用服务器,转发替换后的登录请求。
响应于该登录请求,应用服务器可以向代理服务器反馈登录页面数据。在该登录页面数据中,可以包含登录页面的应用域名(例如上述的hr.ws.com),还可以包含用于访问其他应用资源的跳转入口,因此登录页面数据中可包含各应用域名。
为了实现客户端基于登录页面数据发出的认证请求被代理服务器接收,代理服务器接收到应用服务器反馈的登录页面数据后,需要将其中包含的各个应用域名进行改写,以生成对应的代理域名,并将登录页面数据中的应用域名替换为对应的代理域名,再将域名替换后的登录页面数据提供给客户端。其中,d域名改写的方法具体参照上文所述,值得注意的是,当代理服务器本地有存储域名映射表时,需先查询域名映射表以确认是否已保存有对应的记录,若没有,才进行计算。
在本实施方式中,客户端浏览器接收到进行域名替换后的登录页面数据后,可以加载出对应的登录页面。用户可以在该登录页面中输入用户名和密码等身份认证信息,并点击登录按键,从而发出认证请求,由于登录页面数据中的应用域名已被替换为对应的代理域名,因此,用户发出的认证请求中的请求域名为代理域名,使得该认证请求可被代理服务器接收。
具体地,当登录按键被用户触发后,客户端可以发起携带认证信息的认证请求。其中的认证信息可以包含上述的用户名和密码等信息,除了认证信息,该认证请求中还可以携带用户IP地址、用户代理(User Agent,UA)等用户信息。
代理服务器接收到该认证请求后,可以按照前述的方式,将其中的请求域名替换为对应的应用域名后,向应用域名指向的应用服务器转发替换后的认证请求。同时,代理服务器还可基于认证请求获取并记录该用户的相关的信息,包含请求时间(如请求接收时间,或请求发送时间)、认证请求中携带的用户IP地址,用户UA等用户信息,用于后续的安全验证。
S302:接收所述应用服务器反馈的认证响应数据,所述认证响应数据中包含所述客户端对应的原始cookie信息设置项。
S303:基于所述原始cookie信息设置项生成代理cookie信息设置项,在利用所述代理cookie信息设置项替换所述认证响应数据中的所述原始cookie信息设置项,以及将所述认证响应数据中的应用域名替换为对应的代理域名后,将替换后的认证响应数据提供给所述客户端。
在本实施方式中,应用服务器在对认证请求中的认证信息认证通过之后,可以向代理服务器反馈认证响应数据。该认证响应数据中可包含访问目标应用资源的页面,例如,索引页面或者目标应用的网站首页。在该页面中,可以包含用于访问各项应用资源的跳转入口。例如,索引页面中可以包含企业内各个分支机构的访问入口,还可以包含各项业务的数据支持入口等。这些访问入口或者数据支持入口的链接均被写入页面代码中,链接中可包含对应的应用域名。如果直接向客户端展示包含这些应用域名的页面,那么当客户端基于这些应用域名时发出访问请求时,是无法被代理服务器接收的,进而无法通过代理服务器访问应用资源,这样会导致访问失败。鉴于此,代理服务器在接收到应用服务器反馈的认证响应数据后,可将其中的应用域名替换为对应的代理域名,以通过替换后的代理域名,将客户端基于认证响应数据发起的访问请求引导至代理服务器处进行处理。其中,应用域名的改写及替换方式可参照上文所述,不再赘述。
在实际应用中,有些应用服务器反馈的认证响应数据中,会包括原始cookie信息设置项(set-cookie),该原始cookie信息设置项用于指示客户端在基于认证响应数据中的指定应用域名发出访问请求时,携带该原始cookie信息,使得应用服务器可基于访问请求中携带的原始cookie信息对访问请求的合法性进行认证,只有当客户端基于认证响应数据发起的访问请求中携带该原始cookie信息时,应用服务器才会对该访问请求进行响应,否则拒绝访问,或者返回登录页面,要求用户重新登录。可以理解的是,原始cookie信息设置项中还会指示的原始cookie信息与指定应用域名的绑定关系,一般而言,指定域名可以是一个完整的应用域名,也可以使应用域名的泛域名。
在实际应用中,应用服务器反馈的认证响应数据中通常包含原始cookie信息设置项set-cookie),该原始cookie信息设置项指示原始cookie信息与指定的应用域名进行绑定,也就是说,当接收到针对指定的应用域名发出的访问请求时,应用服务器需要先确认访问请求中有携带该原始cookie信息,才会对该访问请求进行响应。为了防止原始cookie信息的暴露,代理服务器可根据认证响应数据中的原始cookie信息设置项,在本地生成相应的原始cookie信息记录,包括原始cookie信息与指定应用域名的绑定关系,并在基于原始cookie信息或用户信息生成代理cookie信息,将代理cookie信息与代理域名的泛域名进行绑定,从而生成代理cookie信息设置项,以替换认证响应数据中的原始cookie信息设置项,然后将完成原始cookie信息设置项和应用域名替换后的认证响应数据发送给客户端,使得客户端在基于接收到的认证响应数据发出访问请求时,自动携带代理cookie信息,以供代理服务器对其进行安全认证。
具体而言,代理服务器可以基于原始cookie信息、先前获取的请求时间处理后生成代理cookie信息,或者,基于原始cookie信息、请求时间,以及用户信息的中一项或多项的组合,处理后生成代理cookie信息,其中,处理方式可包含,利用预设散列算法对该些信息进行计算,得到对应的散列值,该散列值便可以作为代理cookie信息,或者对原始cookie信息、以及获取的用户信息的中的全部或其中一项或多项的组合进行加密后,得到对应的代理cookie信息。值得注意的是,在生成代理cookie信息时,结合了请求时间、以及用户信息,可保证代理cookie信息仅针对本次认证后的访问请求有效,且避免了原始cookie信息相同时,无法对不同的用户的认证请求进行区分,进一步提升了网络访问的安全性。
如此一来,基于上述方法代理服务器可获取与该用户相关的原始cookie信息和代理cookie信息。如此一来,可避免因原始cookie信息暴露而带来的安全风险。
值得注意的是,代理服务器在存储代理cookie信息和原始cookie信息时,可建立两者的关联关系,同时,还可以建立代理cookie信息与从登录请求中获取到的用户信息的关联关系,以便于后续的信息查询。
较佳的,代理服务器可以为原始cookie信息、代理cookie信息、基于登录请求获取到的用户信息分别设置有效期。当有效期达到之后,对应的信息可以自动失效或从本地清除。
请参照图4,图4绘示本申请一实施例所提供的访问请求代理方法流程图,所述方法应用于代理服务器,包含以下步骤:
S401:接收客户端发来的访问请求,并判断所述访问请求中携带的cookie信息与所述代理cookie信息是否一致,若一致则进入步骤S402,否则进入步骤S403。
如上所述,客户端的访问请求是基于接收到的认证响应数据发出的,由于该认证响应数据中的应用域名已被替换为对应的代理域名,因此,基于DNS解析,访问请求的目的地址会被解析为代理服务器的地址,从而该访问请求可被代理服务器接收,而如果是合法的访问请求,用户会根据认证响应数据中的代理cookie信息设置项,自动携带正确的cookie信息,而为了防止访问请求是伪造的,代理服务器可先对访问请求中携带的cookie信息进行验证,以确定访问请求中有携带的cookie信息是正确的,具体而言,代理服务器可基于本地存储的代理cookie信息来确认访问请求中所携带的cookie信息是否有效,若本地存储的代理cookie信息与访问请求中携带的cookie信息一致,则可初步确认访问请求合法,并进入步骤S402,执行进一步的验证。若不一致,或者没相同的记录,进入步骤403:确认访问请求不合法,返回登录页面或拒绝处理。
S402:验证所述访问请求中的用户信息,并在所述用户信息通过验证后,获取与所述访问请求相关联的所述原始cookie信息。
在本步骤中,代理服务器可从访问请求中获取用户IP、用户UA等用户信息,由于同一用户基于同一客户端发出的请求所对应的用户IP和用户UA是不会发生改变的,因此,可基于访问请求中的用户IP和用户UA对该访问请求进行进一步的合法性验证,具体的,代理服务器可直接查询本地是否有相同的用户IP和用户UA的记录,来确定访问请求是否合法,或者可先查询出本地存储的与代理cookie信息相关联的用户信息,并进一步比对查询得到的用户信息中的用户IP和用户UA是否与访问请求中的一致,如全部一致,则该访问请求通过验证,确定该访问请求合法,并获取与该访问请求相关联的原始cookie信息。
具体而言,客户端发出的访问请求是为了从对应的应用服务器获取相关应用资源,因此,代理服务器最终需要将该访问请求转发至对应的应用服务器进行处理,如上文所述,应用服务器在接收到访问请求时,需基于访问请求中携带的cookie信息进行身份验证,基于此,代理服务器在向应用服务器转发该访问请求前,需要先从本地存储记录中获取到与该访问请求相关的原始cookie信息,在一实施中,代理服务器先对访问请求中的请求域名进行转换,得到用户真实访问的应用域名,从本地存储的原始cookie信息中获取与该应用域名绑定的原始cookie信息,作为与访问请求相关联的原始cookie信息。在另一实施中,代理服务器可根据代理cookie信息查找处与之相关联的原始cookie信息,确定为与访问请求相关联的原始cookie信息。
值得注意的是,若在上述任一验证或查询过程中,未获得正确的结果,则进入步骤403。
S404:在利用所述原始cookie信息替换所述访问请求中携带的所述代理cookie信息,以及将所述访问请求的请求域名替换为对应的应用域名后,将替换后的所述访问请求转发至所述应用域名指向的应用服务器。
应用服务器接收到代理服务器发来的访问请求后,可以将对应的资源作为访问响应数据反馈给代理服务器。由于访问响应数据中可能包含响应页面,即响应客户端的访问请求而展示的新页面,而响应页面的数据中也可能包含应用域名,在这种情况下,代理服务器还需对响应页面中的应用域名进行替换,以保证客户端基于响应页面生成的访问请求可被代理服务器接收。其中,代理服务器对响应页面进行域名替换的方法可参照上文描述,在此不再赘述。
在一个实施方式中,客户端和应用服务器可能支持的应用层协议不同,例如客户端发出的请求是基于http生成的,而应用服务器仅能响应https协议的报文,为了保证代理过程的顺利进行,代理服务器在将代理域名替换为对应的应用域名,以及将应用域名替换为对应的代理域名的过程中,可包含对网络协议的替换,使得替换前后的域名可支持不同的网络协议。
举例来说,客户端与代理服务器之间原先是采用https协议进行交互,而代理服务器与应用服务器之间是基于http协议进行交互的,那么代理服务器在将应用域名改写和替换为代理域名时,可以带入协议信息,并对协议信息进行改写,例如,应用域名http://customer.ws.com,可改写为对应的代理域名https://result1.vpn.com,如此一来,代理服务器与客户端之间可基于https协议进行交互,而与应用服务器之间以http协议进行交互。
综上所述,基于本申请实施例所提供的访问请求代理方法,代理服务器在将访问请求转发给对应的应用服务器之前,会先基于访问请求携带的代理cookie信息进行验证,并在验证通过后,再结合用户IP和用户UA进一步验证访问请求的合法性,如此,可保证转发给应用服务器的访问请求是合法的,防止非法请求被转发至应用服务器,从而提升应用服务器的安全性。
请参阅图5,本申请还提供一种代理服务器,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的访问请求代理方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种访问请求代理方法,其特征在于,
所述方法应用于代理服务器中,所述代理服务器在本地存储原始cookie信息和代理cookie信息,并建立所述代理cookie信息与从登录请求获取到的用户信息的关联关系,其中,所述代理cookie信息是基于原始cookie信息、请求时间,以及用户信息的中一项或多项的组合,处理后生成的,所述用户信息至少包括用户IP地址和用户代理,所述方法包括:
接收客户端发来的访问请求,并判断所述访问请求中携带的cookie信息与所述代理cookie信息是否一致;
若一致,查询出本地存储的与所述代理cookie信息相关联的所述用户信息,根据查询得到的所述用户信息验证所述访问请求中的用户信息,并在所述访问请求中的用户信息通过验证后,读取与所述访问请求相关联的所述原始cookie信息;
在利用所述原始cookie信息替换所述访问请求中携带的cookie信息,以及将所述访问请求的请求域名替换为对应的应用域名后,将替换后的所述访问请求转发至所述应用域名指向的应用服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述访问请求中携带的cookie信息与所述代理cookie信息不一致,或者所述代理cookie信息已失效,或者所述用户信息未通过验证,则拒绝转发所述访问请求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括,在接收所述访问请求之前,还包括:
接收所述客户端发来的认证请求,在将所述认证请求的请求域名替换为对应的应用域名后,向替换后的所述请求域名指向的应用服务器转发替换后的所述认证请求;
接收所述应用服务器反馈的认证响应数据,所述认证响应数据中包含原始cookie信息设置项;
基于所述原始信息设置项在本地设置对应原始cookie信息,对应生成代理cookie信息设置项,在利用所述代理cookie信息设置项替换所述认证响应数据中的所述原始cookie信息设置项,以及将所述认证响应数据中的应用域名替换为对应的代理域名后,将替换后的所述认证响应数据提供给所述客户端。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:提取所述认证请求中的用户信息,并保存在本地。
5.根据权利要求3所述的方法,其特征在于,所述代理服务器中包含域名映射表,所述域名映射表用于表征代理域名与应用域名之间的映射关系;基于所述域名映射表,将所述认证请求的请求域名替换为对应的应用域名,并将所述认证响应数据中的应用域名替换为对应的代理域名。
6.根据权利要求3所述的方法,其特征在于,所述代理服务器中配置有转换规则;将所述认证请求的请求域名替换为对应的应用域名包括:
提取所述代理域名中除泛域名之外的标识信息,并基于所述转换规则,将所述标识信息转换为对应的应用域名;
将所述认证响应数据中的应用域名替换为对应的代理域名包括:
基于所述转换规则,将所述应用域名转换为对应的标识信息,并将转换得到的标识信息与代理域名的泛域名的组合,作为所述应用域名对应的代理域名。
7.根据权利要求3所述的方法,其特征在于,所述对应生成代理cookie信息设置项包括:
基于所述代理cookie信息生成所述代理cookie信息设置项,其中所述代理cookie设置项中指示所述代理cookie信息与代理域名的泛域名进行绑定。
8.根据权利要求3所述的方法,其特征在于,在接收客户端发来的认证请求之前,所述方法还包括:
接收客户端发来的登录请求,在将所述登录请求中的请求域名替换为对应的应用域名后,向所述替换后的请求域名指向的应用服务器发送替换后的所述登录请求;
接收所述应用服务器反馈的登录页面数据,在将所述登录页面数据中的应用域名替换为对应的代理域名后,将域名替换后的登录页面数据提供给所述客户端。
9.根据权利要求3所述的方法,其特征在于,所述代理域名替换为对应的应用域名,以及将应用域名替换为对应的代理域名的过程中,包含网络协议的替换。
10.一种代理服务器,其特征在于,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110516284.XA CN113381979B (zh) | 2021-05-12 | 2021-05-12 | 一种访问请求代理方法及代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110516284.XA CN113381979B (zh) | 2021-05-12 | 2021-05-12 | 一种访问请求代理方法及代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113381979A CN113381979A (zh) | 2021-09-10 |
CN113381979B true CN113381979B (zh) | 2023-05-23 |
Family
ID=77572521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110516284.XA Active CN113381979B (zh) | 2021-05-12 | 2021-05-12 | 一种访问请求代理方法及代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113381979B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257578B (zh) * | 2021-12-16 | 2024-04-02 | 上海幻电信息科技有限公司 | 信息验证方法及装置 |
CN113938327B (zh) * | 2021-12-17 | 2022-05-24 | 亿次网联(杭州)科技有限公司 | Vpn服务的访问方法和访问系统、电子设备、存储介质 |
CN114710314B (zh) * | 2022-02-21 | 2023-06-06 | 深圳腾银信息咨询有限责任公司 | 一种配置化的软件服务平台访问方法、装置、系统及介质 |
CN115174675B (zh) * | 2022-06-30 | 2023-10-17 | 北京华御数观科技有限公司 | 一种kafka服务访问方法 |
CN115604041B (zh) * | 2022-12-16 | 2023-05-09 | 深圳高灯计算机科技有限公司 | 安全代理方法、系统、装置、计算机设备和存储介质 |
CN117439816B (zh) * | 2023-12-18 | 2024-03-12 | 深圳竹云科技股份有限公司 | 应用隐身方法、装置和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468790A (zh) * | 2014-12-09 | 2015-03-25 | 北京奇虎科技有限公司 | cookie数据的处理方法与客户端 |
CN105337990A (zh) * | 2015-11-20 | 2016-02-17 | 北京奇虎科技有限公司 | 用户身份的校验方法及装置 |
CN108881226A (zh) * | 2018-06-19 | 2018-11-23 | 北京云枢网络科技有限公司 | 应用层攻击的防护方法、防护装置及电子设备 |
CN109039987A (zh) * | 2017-06-08 | 2018-12-18 | 北京京东尚科信息技术有限公司 | 一种用户账户登录方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7954144B1 (en) * | 2000-01-18 | 2011-05-31 | Novell, Inc. | Brokering state information and identity among user agents, origin servers, and proxies |
US8887233B2 (en) * | 2005-04-08 | 2014-11-11 | Netapp, Inc. | Cookie-based acceleration of an authentication protocol |
CN104113528A (zh) * | 2014-06-23 | 2014-10-22 | 汉柏科技有限公司 | 一种基于前置网关的防止敏感信息泄露的方法和系统 |
CN112260990B (zh) * | 2020-09-16 | 2022-03-08 | 厦门网宿有限公司 | 一种安全访问内网应用的方法和装置 |
CN112272158A (zh) * | 2020-09-16 | 2021-01-26 | 厦门网宿有限公司 | 一种数据代理方法、系统及代理服务器 |
CN112702425B (zh) * | 2020-12-22 | 2022-12-23 | 杭州易安联科技有限公司 | 基于域名泛解析的web应用访问代理方法、装置和存储介质 |
-
2021
- 2021-05-12 CN CN202110516284.XA patent/CN113381979B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468790A (zh) * | 2014-12-09 | 2015-03-25 | 北京奇虎科技有限公司 | cookie数据的处理方法与客户端 |
CN105337990A (zh) * | 2015-11-20 | 2016-02-17 | 北京奇虎科技有限公司 | 用户身份的校验方法及装置 |
CN109039987A (zh) * | 2017-06-08 | 2018-12-18 | 北京京东尚科信息技术有限公司 | 一种用户账户登录方法、装置、电子设备和存储介质 |
CN108881226A (zh) * | 2018-06-19 | 2018-11-23 | 北京云枢网络科技有限公司 | 应用层攻击的防护方法、防护装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113381979A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113381979B (zh) | 一种访问请求代理方法及代理服务器 | |
WO2022057000A1 (zh) | 一种数据代理方法、系统及代理服务器 | |
CN107172054B (zh) | 一种基于cas的权限认证方法、装置及系统 | |
CN109547458B (zh) | 登录验证方法、装置、计算机设备及存储介质 | |
KR100946110B1 (ko) | 기존 ssl 세션을 브레이킹하지 않고 인증서-기반 인증으로 스텝 업하는 방법 및 시스템 | |
US8006289B2 (en) | Method and system for extending authentication methods | |
CN111698250B (zh) | 访问请求处理方法、装置、电子设备及计算机存储介质 | |
CN111416822B (zh) | 访问控制的方法、电子设备和存储介质 | |
US20100100950A1 (en) | Context-based adaptive authentication for data and services access in a network | |
CN110958237A (zh) | 一种权限校验的方法和装置 | |
US8191122B2 (en) | Provisioning a network appliance | |
CN108259457B (zh) | 一种web认证方法及装置 | |
CN109257365B (zh) | 一种信息处理方法、装置、设备和存储介质 | |
US11165768B2 (en) | Technique for connecting to a service | |
CN112468442B (zh) | 双因子认证方法、装置、计算机设备及存储介质 | |
CN113341798A (zh) | 远程访问应用的方法、系统、装置、设备及存储介质 | |
CN112491890A (zh) | 一种访问方法及装置 | |
CN113922982A (zh) | 登录方法、电子设备及计算机可读存储介质 | |
CN113194099B (zh) | 一种数据代理方法及代理服务器 | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和系统、用户代理设备 | |
CN114338597A (zh) | 一种网络访问方法及装置 | |
KR101803535B1 (ko) | 일회용 토큰을 이용한 싱글 사인온 서비스 인증방법 | |
CN112966242A (zh) | 一种用户名口令认证方法、装置、设备及可读存储介质 | |
CN113992446B (zh) | 一种跨域浏览器用户认证方法、系统及计算机储存介质 | |
CN115664761A (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 |