CN113194099A - 一种数据代理方法及代理服务器 - Google Patents
一种数据代理方法及代理服务器 Download PDFInfo
- Publication number
- CN113194099A CN113194099A CN202110484989.8A CN202110484989A CN113194099A CN 113194099 A CN113194099 A CN 113194099A CN 202110484989 A CN202110484989 A CN 202110484989A CN 113194099 A CN113194099 A CN 113194099A
- Authority
- CN
- China
- Prior art keywords
- domain name
- request
- intranet
- information
- response data
- 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.)
- Granted
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- 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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据代理方法及代理服务器,其中,所述方法包括:接收客户端发来的页面登录请求,若确认所述页面登录请求中携带自定义请求信息,则基于所述页面登录请求获取授权响应数据;接收所述鉴权服务器针对所述页面登录请求反馈的授权响应数据;将所述授权响应数据中的内网域名替换为对应的映射域名,并向所述客户端反馈域名替换后的所述授权响应数据;接收所述客户端基于所述域名替换后的授权响应数据发来的访问请求,并在确定所述访问请求中的请求域名对应的目标内网域名后,根据所述目标内网域名向内网服务器请求访问响应数。本申请提供的技术方案,能够有效地提高数据代理过程的稳定性。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种数据代理方法及代理服务器。
背景技术
随着网络安全形势日益严峻,为了阻断来自外部网络的攻击,越来越多的企业和机构将业务限制在内部网络中,禁止来自外部网络的访问,然而很多时候机构内部人员又需要从外部网络访问内部应用,VPN(Virtual Private Network,虚拟专用网络)技术便应运而生。
WebVPN提供基于web的内网应用访问控制,允许用户访问只对内部网络开放的web应用。区别于传统VPN技术,WebVPN允许客户直接通过浏览器访问内网应用,无需安装客户端软件,这大大降低了VPN技术的使用门槛,提升了用户体验。
现有的WebVPN技术实现中,通常是将各个内网域名映射至VPN网关的同一个域名下,然后通过添加标识信息来进行区分,在这种方式中,需要预先对反馈给客户端的页面代码进行改写,但由于代码逻辑各不相同,可能会出现改写不完全的问题,如果用户请求的链接未被改写,那么就会导致访问请求无法获得正常响应。
发明内容
本申请的目的在于提供一种数据代理方法及代理服务器,能够有效地提高数据代理过程的稳定性。
为实现上述目的,本申请一方面提供一种数据代理方法,所述方法应用于代理服务器中,所述方法包括:接收客户端发来的页面登录请求,若确认所述页面登录请求中携带自定义请求信息,则基于所述页面登录请求获取授权响应数据;接收所述鉴权服务器针对所述页面登录请求反馈的授权响应数据;将所述授权响应数据中的内网域名替换为对应的映射域名,并向所述客户端反馈域名替换后的所述授权响应数据;接收所述客户端基于所述域名替换后的授权响应数据发来的访问请求,并在确定所述访问请求中的请求域名对应的目标内网域名后,根据所述目标内网域名向内网服务器请求访问响应数据。
为实现上述目的,本申请另一方面还提一种代理服务器,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的数据代理方法。
由上可见,本申请提供的技术方案,代理服务器接收到客户端发起的页面登录请求后,如果该页面登录请求中携带了自定义请求信息,便可以将该页面登录请求转发至鉴权服务器,以进行权限认证,获取授权响应数据。在通过认证之后,鉴权服务器可以向代理服务器反馈授权响应数据,该授权响应数据可以用于向客户端展示内网应用的索引页面。在授权响应数据中通常会包含内网应用的内网域名,而内网域名不能通过公网直接访问。鉴于此,代理服务器可以将授权响应数据中的内网域名替换为对应的映射域名,并向客户端反馈域名替换后的授权响应数据。
客户端后续发起的访问请求中携带的就可以是映射域名,该映射域名会被解析至代理服务器处。代理服务器可以确定访问请求中的请求域名对应的目标内网域名,并可以根据目标内网域名从内网服务器处获取访问响应数据。
由上可见,由于内网域名不能通过公网直接访问,因此客户端发出和接收到的都可以是经过处理的映射域名。该映射域名经过代理服务器处理后,可以转换为对应的目标内网域名,即内网应用的真实域名,从而由代理服务器从对应的内网服务器上获取到客户端请求的内网资源,完成数据代理过程。
在一实施中,所述方法还包括:若所述页面登录请求中未携带所述自定义请求信息,向所述客户端反馈拦截组件的注册文件,以使得所述客户端运行所述注册文件后加载所述拦截组件;其中,所述客户端在加载所述拦截组件后,自动为所述客户端发起的页面登录请求和内网服务器的访问请求添加所述自定义请求信息。
在一实施中,在接收到所述鉴权服务器反馈的授权响应数据后,所述方法还包括:在替换后的所述授权响应数据中添加cookie设置信息,所述cookie设置信息用于指示向所述映射域名发起访问请求时,携带对应的cookie值。
在一实施中,若所述代理服务器接收到的访问请求中未携带所述cookie值,不对所述访问请求进行处理。
在一实施中,所述方法还包括:所述拦截组件自动为所述客户端发起的内网服务器的访问请求添加所述自定义请求信息包括:识别所述访问请求中的请求域名,若所述请求域名为映射域名,将所述请求域名写入自定义请求信息中;若所述请求域名为内网域名,将所述请求域名替换为所述内网域名对应的映射域名,并将所述内网域名写入自定义请求信息中;在所述访问请求中添加所述自定义请求信息。
在一实施中,所述将所述请求域名替换为所述内网域名对应的映射域名,包含,基于所述内网域名或用户信息计算得到对应的映射域名,并将所述请求域名替换为所述映射域名。
在一实施中,所述确定所述访问请求中的请求域名对应的目标内网域名包括:若所述请求域名与所述自定义请求信息中的域名信息相同,则基于所述请求域名从本地记录中查找对应的内网域名,作为所述目标内网域名;若所述请求域名与所述自定义请求信息中的域名信息不同,则确定所述自定义信息中的域名信息为所述目标内网域名。
在一实施中,若所述请求域名与所述自定义请求信息中的域名信息不同,则记录所述请求域名与所述自定义信息中的域名信息的映射关系。
在一实施中,所述方法还包括:若所述代理服务器接收到的访问请求中未携带自定义请求信息,不对所述访问请求进行处理。
在一实施中,所述方法还包括:将所述访问响应数据中包含的内网域名替换为对应的映射域名后,向所述客户端反馈域名替换后的访问响应数据。
在一实施中,所述方法还包括:在反馈域名替换后的所述授权响应数据或所述访问响应数据前,识别传输所述授权响应数据或所述访问响应数据的第一网络协议,若所述第一网络协议无法被所述客户端中的拦截组件拦截,基于第二网络协议对所述授权响应数据和所述访问响应数据进行转发,其中所述第二网络协议转换为能够被所述拦截组件拦截。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中数据代理系统的架构示意图;
图2是本发明实施方式中数据代理方法的步骤示意图;
图3是本发明实施方式中数据代理系统中各个主体的交互示意图;
图4是本发明实施方式中代理服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种数据代理方法,该方法可以应用于图1所示的系统架构中。请参阅图1,该系统架构中可以包括客户端、代理服务器、鉴权服务器、DNS服务器以及内网服务器。
其中,客户端可以是用户使用的终端设备,如手机、电脑等电子设备,用户可通过安装在客户端的浏览器访问内网服务器。
鉴权服务器可以用于对用户身份进行鉴权认证,以确定用户身份是否合法,并根据用户的身份信息下发对应的内网资源访问权限。
内网服务器可以为部署在内网环境中的源站服务器,运行有提供服务的应用程序,用于对访问请求进行响应。
代理服务器可以作为VPN网关,接收客户端的各项请求,并可通过VPN网络与内网服务器建立通信连接,以将客户端发送的请求转发至对应的内网服务器,并接收内网服务器反馈的响应数据,进而将响应数据发送至客户端。可见,代理服务器可实现客户端与内网服务器之间的数据代理。值得注意的是,在一个实施方式中,代理服务器通过VPN网络与内网服务器建立通信连接,其中所使用的VPN网络可基于SD-WAN(Software-Defined WideArea Network)技术实现。
DNS服务器可提供DNS解析服务,在本申请的实施例中,可通过在DNS服务器上配置域名解析规则,将泛域名为代理域名的域名解析请求对应的解析地址配置为代理服务器的IP地址。
请参阅图2和图3,本申请提供的数据代理方法,可以包括以下多个步骤。
S1:接收客户端发来的页面登录请求,若确认所述页面登录请求中携带自定义请求信息,则基于所述页面登录请求获取授权响应数据。
一般而言,当客户端需要访问内网资源时,可以先通过鉴权服务器进行权限认证。具体地,客户端可以发起页面登录请求,该页面登录请求中的请求域名例如可以是login.vpn.com,可以理解的是,客户端在发出该请求前,需先通过DNS解析以获知请求发送的目的地址,在本实施例中,可通过在DNS服务器上配置解析规则:将包含代理域名vpn.com的域名解析为代理服务器的IP地址,如请求解析的域名为login.vpn.com,其中包含了代理域名vpn.com,DNS服务器可根据预先配置的解析规则,将代理服务器的IP地址响应给客户端,从而客户端的页面登录请求目的地址会指向代理服务器,进而使得代理服务器可接收到客户端发送的页面登录请求。
代理服务器在接收到客户端发来的页面登录请求后,可先确定该请求中有没有携带自定义请求信息,以确定该请求的处理方式。其中,自定义请求信息是由客户端浏览器中的拦截组件自动添加的。在实际应用中,自定义请求信息可以通过请求报文中的自定义的字段real-host来表示,例如,页面登录请求中的请求域名为login.vpn.com,那么拦截组件在页面登录请求中添加的自定义请求信息便可以是real-host:login.vpn.com。
在本实施方式中,可以通过客户端中的拦截组件,如service worker,与代理服务器的协同运作,从而实现客户端对内网资源的访问,其中,客户端中的拦截组件serviceworker可基于代理服务器的指令加载在浏览器中的,可用于为客户端浏览器发出的请求添加自定义请求信息。
在一实施中,客户端第一次发送页面登录请求时,客户端与代理服务器还没有建立通信关系,此时客户端浏览器中还未加载拦截组件,因此,客户端发出的页面登录请求中不会携带自定义请求信息。
代理服务器接收到页面登录请求后,若确认出该页面登录请求中未携带自定义请求信息,则不对该登录请求进行处理,同时,可以向客户端反馈拦截组件的注册文件,如service worker的注册文件,该注册文件中可以包含内网域名的处理规则。
客户端接收到该注册文件后,可以基于注册文件在浏览器中加载并配置serviceworker组件,加载后的service worker组件可按照注册文件中的内网域名的处理规则,为拦截得到的内网请求中的内网域名进行相应的处理,并添加自定义请求信息。
在本实施方式中,注册文件中还包含代理服务器提供服务的各内网域名或者各内网域名的泛域名,拦截组件可基于注册文件中的内网域名信息来确认拦截到的请求中的请求域名是否为需要被处理的内网域名。
在本实施方式中,客户端接收到代理服务器反馈的注册文件,并成功加载了拦截组件后,可以再次发起页面登录请求,该页面登录请求中可以包含用户的认证信息。该认证信息例如可以是用户在登录页面上输入的用户名和密码。由于此时拦截组件已经能够正常运行,那么客户端发起的页面登录请求会被拦截组件拦截。拦截组件在拦截了页面登录请求后,可以在页面登录请求中添加自定义请求信息。该自定义请求信息可以用于备注客户端发起的各项请求中的原始请求域名。这样,针对页面登录请求而言,该页面登录请求中添加的自定义请求信息中就可以包括该页面登录请求的请求域名。
代理服务器在识别出页面登录请求中携带了自定义请求信息,并且该自定义请求信息中的域名为登录页面的域名,那么代理服务器可以基于页面登录请求获取授权响应数据,具体而言,代理服务器可将携带认证信息的页面登录请求转发至鉴权服务器,其中代理服务器可基于本地预先记录的信息,查询获得页面登录请求中的请求域名对应的鉴权服务器信息。鉴权服务器可根据认证信息对用户权限进行验证,并在验证通过后,向代理服务器反馈授权响应数据,授权响应数据中可包含访问内网应用的页面,例如,包含各内网应用访问入口的索引页面。
S2:将所述授权响应数据中的内网域名替换为对应的映射域名,并向所述客户端反馈域名替换后的所述授权响应数据。
在鉴权服务器响应的索引页面中,这些访问入口的链接均被写入页面代码中,链接中可包含对应内网应用的域名,即内网域名。例如,考勤管理系统的内网域名可以是kaoqin.ws.com。然而,如果直接向客户端展示包含这些内网域名的索引页面,那么当客户端基于这些内网域名发出访问请求时,由于内网应用服务器均部署在内网,因此,这些针对内网域名的访问请求是无法被对应的内网服务器接收到的,这样会导致访问失败。
鉴于此,代理服务器在接收到鉴权服务器反馈的授权响应数据后,可对索引页面中的所有内网域名进行改写,并将其替换为改写后的映射域名,进而将替换后的索引页面反馈给客户端,使得客户端基于索引页面发起的内网访问请求能够被代理服务器接收。
在一个实施方式中,代理服务器在对内网域名进行改写时,可以遵循以下的改写规则。
具体地,以代理域名作为映射域名的泛域名,同时添加标识信息作为子域名,以区分基于各个内网域名改写后得到的映射域名,同时又不暴露内网域名,在一实施中,可以对内网域名进行一定的运算,并将运算结果作为映射域名的子域名,从而得到完整的映射域名,例如,可以采用散列算法,计算内网域名的散列值,并将该散列值作为运算结果。举例来说,内网域名例如可以是kaoqin.ws.com,设置的代理域名为vpn.com,那么利用哈希算法对kaoqin.ws.com进行运算后,可以得到哈希值hash1。那么hash1.vpn.com便可以作为改写后的映射域名。在该映射域名中,hash1可以作为除泛域名之外的标识信息,通过对该标识信息进行反哈希运算,并可以还原出对应的内网域名,因此,代理服务器无需存储内网域名与映射域名之间的映射关系,直接基于映射域名即可获知内网域名,从而节省存储空间。
在另一实施方式中,进一步提高内网域名的安全性,代理服务器可通过随机生成的字符串作为映射域名中的子域名,并记录该映射域名与内网域名之间的映射关系,保存在本地,用于在接收到客户端的访问请求时,基于映射关系,识别出映射域名对应的内网域名,如此一来,即使映射域名被拦截,也无法破解出对应的内网域名,从而保证了内网域名的安全性。
可见,改写后的映射域名中,可以通过标识信息表征原先的内网域名,同时由于映射域名的泛域名为代理域名,可基于DNS调度,将请求域名为映射域名的访问请求调度至代理服务器。
在一个实施方式中,代理服务器在对授权响应数据中的内网域名进行改写时,还可以在改写得到的映射域名中添加其他识别信息,例如,映射域名中还可以包含企业信息,用于区分用户所属的企业客户,这样,当网络服务提供商在为多个不同的企业提供代理服务时,可根据映射域名中的企业信息来设置不同的流量调度策略,以满足各企业客户的不同需求。
S3:接收所述客户端基于所述域名替换后的授权响应数据发来的访问请求,并在确定所述访问请求中的请求域名对应的目标内网域名后,根据所述目标内网域名向内网服务器请求访问响应数据。
在本实施方式中,代理服务器在对授权响应数据中的内网域名改写并替换完成后,可将域名替换后的授权响应数据反馈给客户端,使得客户端可基于域名替换后的授权响应数据访问相应的内网资源。
需要说明的是,在一些实施中,在客户端中运行的拦截组件,可能只能实现对部分的网络协议报文进行拦截。例如,对于service worker而言,通常只能拦截https协议的请求,而无法拦截http协议的请求。但是在一些应用场景中,需要对客户端发起的各项请求都能够进行拦截,因此代理服务器在向客户端反馈响应数据时,可同步更改授权响应数据中的网络协议,使得客户端发出的访问请求都是基于可被拦截的网络协议类型发出的,举例来说,若授权响应数据中包含了http://kaoqin.ws.com,那么不仅需要将内网域名kaoqin.ws.com改写为映射域名hsah1.vpn.com,还需要将其中的网络协议修改为https,从而得到改写后的内容:https://hsah1.vpn.com,从而使得客户端向映射域名hsah1.vpn发起的访问请求是基于https协议发出的,进而可被拦截组件拦截。
客户端在接收到授权响应数据后,可通过浏览器展示出对应的索引页面,并基于用户的选择发出相应的访问请求。
在本实施方式中,客户端向代理服务器发起的访问请求,会优先被拦截组件拦截。拦截组件首先会对访问请求中的请求域名进行识别。通过前文的描述可知,经过域名替换后,客户端针对索引页面发起的访问请求中包含的请求域名,都应当是改写后的映射域名。但是,在实际应用中,由于索引页面中可能存在不同的代码逻辑,导致代理服务器在对授权响应数据中的内网域名进行域名替换时,无法将索引页面中提供的内网域名改写完全,这就导致向客户端展示的索引页面中,可能会包含一部分没有经过替换的内网域名,而如果访问请求中请求的是内网域名,会导致访问失败。鉴于此,可通过拦截组件对访问请求中的请求域名进行检测,若请求域名为内网域名,则需要对其进行改写替换。
具体地,拦截组件在拦截到客户端发起的访问请求后,可以对其中的请求域名进行识别,以确定请求域名是否为内网域名。
如果请求域名是内网域名,那么拦截组件可以根据预先配置的改写规则,为该内网域名设置对应的映射域名,并将访问请求中的请求域名改写为映射域名,其中,映射域名的生成方式可参照上述代理服务器生成映射域名的方式,在此不再赘述,值得注意的是,在具体实施中,拦截组件生成映射域名的方式可与代理服务器的一致,也可以不同,具体可根据实际需求进行选择,但需满足两者针对不同内网域名生成的映射域名不相同。拦截组件可在改写后的访问请求中添加的自定义请求信息,其中自定义请求信息中记录的是改写之前的请求域名,即内网域名。
如果请求域名不是内网域名,此时,拦截组件无需对请求域名进行改写,而是直接将请求域名写入自定义请求信息中,并将携带该自定义请求信息的访问请求发送至代理服务器处。
值得注意的是,拦截组件拦截的访问请求是客户端浏览器发出的应用层报文,如https报文,因此拦截和对访问请求进行处理的过程,是发生在域名解析之前,因此保证了该访问请求的目的地址可被解析为代理服务器,从而被代理服务器接收。
通过以上的描述可见,代理服务器接收到的访问请求中,请求域名尽管都是映射域名,但映射域名的来源可能是不同的。其中,映射域名可能是域名替换后的授权响应数据中包含的映射域名,也可能是由客户端中的拦截组件对内网域名进行修改得到的映射域名,这两者的区别可体现在访问请求的自定义请求信息中:如果请求域名为域名替换后的授权响应数据中包含的映射域名,那么访问请求携带的自定义请求信息中的域名信息与请求域名相同;而如果请求域名为由客户端中的拦截组件对内网域名进行修改得到的映射域名,那么该访问请求携带的自定义请求信息中的域名信息与请求域名不同。
代理服务器接收到客户端发来的访问请求后,可以识别该访问请求中携带的自定义请求信息,并基于自定义请求信息确定目标内网域名,在一个实施方式中,代理服务器可对请求域名和自定义请求信息中的域名信息进行比对,若所述请求域名与所述自定义请求信息中的域名信息相同,说明该请求域名未经过拦截组件的改写,则基于所述请求域名从本地记录中查找对应的内网域名,作为所述目标内网域名;若所述请求域名与所述自定义请求信息中的域名信息不同,说明拦截组件有对该请求域名进行改写,则确定所述自定义信息中的域名信息为所述目标内网域名,并记录所述请求域名与所述自定义信息中的域名信息的映射关系。在一其他实施例中,代理服务器可直接基于自定义请求信息中的域名信息确定出目标内网域名,具体而言,由于映射域名的泛域名是相同的,因此,代理服务器可先确定自定义请求信息中的域名信息的泛域名是否为代理域名,若是,则可基于该域名信息查找本地记录,以获取对应的内网域名为目标内网域名,若否,说明该域名信息保存的是拦截组件改写前的请求域名,即内网域名,那么代理服务器就可直接将该内网域名作为目标内网域名。
基于此,拦截组件可实现对代理服务器改写不完全的内网域名进行改写,使得客户端针对内网域名发送的访问请求可被代理服务器所接收,进而完成内网应用的访问,避免了因授权响应数据改写不完全导致的访问错误。
更近一步的,代理服务器可以基于拦截组件改写的访问请求,不断地学习自身遗漏的内网域名与映射域名之间的映射关系,使得后续在向客户端提供访问响应数据时,能够基于学习得到的映射关系对其中的内网域名进行替换。
在本实施方式中,代理服务器在还原得到目标内网域名后,可以向所述目标内网域名指向的内网服务器转发访问请求,以获取访问响应数据。由于访问响应数据中可能包含响应页面,即响应客户端的访问请求而展示的新页面,与索引页面一样,响应页面的数据中也可能包含内网域名,在这种情况下,代理服务器还需对响应页面中的内网域名进行改写,即对访问响应数据进行改写,以保证客户端基于响应页面生成的访问请求可被代理服务器接收,并且可让代理服务器识别出用户真实的请求的内网域名,其中,代理服务器对响应页面改写时,可先基于本地保持的记录查询内网域名对应的映射域名,若没有相关记录,则可参照上述针对索引页面的改写方法,在此不再赘述。
在一实施方式中,若代理服务器确定访问请求中未携带自定义请求信息,则不对其做任何处理,拒绝访问。
在一个实施方式中,为了进一步保证数据访问的安全性,代理服务器可以在替换后的授权响应数据中添加cookie设置信息,所述cookie设置信息用于指示客户端在向映射域名发起访问请求时,携带对应的cookie值,具体的,由于映射域名的泛域名与代理域名的泛域名相同,因此可根据用户信息设置set-cookie在代理域名的泛域名下,如.vpn.com下,以指示客户端在针对映射域名发起访问请求时携带该cookie值。基于此,代理服务器在接收到的访问请求后,可先对其携带的cookie值进行验证,若携带的cookie值不正确或未携带cookie值,则不对访问请求进行处理。
通过以上的描述可见,本申请基于拦截组件对客户端发出的请求进行拦截,并对请求域名进行改写,以保证请求域名为映射域名,而非内网域名,并将原先的请求域名填充在自定义请求信息中,从而保证客户端发出的请求可以被代理服务器接收,使得客户端针对内网域名的请求均可被代理服务器接收,并进行代理,从而正常访问内网应用。
更进一步的,代理服务器通过对请求中携带的cookie信息进行校验,对未正确携带cookie值的请求拒绝访问,以保证网络访问安全。
请参阅图4,本申请还提供一种代理服务器,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的数据代理方法。
由上可见,本申请提供的技术方案,代理服务器接收到客户端发起的页面登录请求和访问请求后,确定该请求中是否携带了自定义请求信息,若有,则可以将其转发至对应的服务器,将服务器反馈的响应数据中的内网域名替换为对应的映射域名,并向客户端反馈域名替换后的响应数据,使得客户端基于响应数据向内网发起的请求可被代理服务器接收。
更进一步的,针对代理服务器对响应数据中的内网域名替换不完全的问题,可在客户端浏览器加载拦截组件,通过拦截组件对浏览器发出的请求报文进行拦截,并在确定请求域名为内网域名时,将其替换成映射域名,使得该请求可被代理服务器接收,同时将该内网域名以自定义信息的方式携带在请求中,使得代理服务可基于自定义信息确定请求访问的目的内网域名,从而对其进行代理。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对代理服务器的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据代理方法,其特征在于,所述方法应用于代理服务器中,所述方法包括:
接收客户端发来的页面登录请求,若确认所述页面登录请求中携带自定义请求信息,则基于所述页面登录请求获取授权响应数据;
将所述授权响应数据中的内网域名替换为对应的映射域名,并向所述客户端反馈域名替换后的所述授权响应数据,以完成所述页面登录请求的响应;
接收所述客户端基于所述域名替换后的授权响应数据发来的访问请求,并在确定所述访问请求中的请求域名对应的目标内网域名后,向所述目标内网域名指向的内网服务器请求访问响应数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述页面登录请求中未携带所述自定义请求信息,向所述客户端反馈拦截组件的注册文件,以使得所述客户端运行所述注册文件后加载所述拦截组件;
其中,所述客户端在加载所述拦截组件后,自动为所述客户端发起的页面登录请求和内网服务器的访问请求添加所述自定义请求信息。
3.根据权利要求1所述的方法,其特征在于,在接收到所述鉴权服务器反馈的授权响应数据后,所述方法还包括:
在替换后的所述授权响应数据中添加cookie设置信息,所述cookie设置信息用于指示向所述映射域名发起访问请求时,携带对应的cookie值。
4.根据权利要求3所述的方法,其特征在于,若所述代理服务器接收到的访问请求中未携带所述cookie值,不对所述访问请求进行处理。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述拦截组件自动为所述客户端发起的内网服务器的访问请求添加所述自定义请求信息包括:
识别所述访问请求中的请求域名,若所述请求域名为映射域名,将所述请求域名写入自定义请求信息中;
若所述请求域名为内网域名,将所述请求域名替换为所述内网域名对应的映射域名,并将所述内网域名写入自定义请求信息中;
在所述访问请求中添加所述自定义请求信息。
6.根据权利要求5所述的方法,其特征在于,所述将所述请求域名替换为所述内网域名对应的映射域名,包含,基于所述内网域名或用户信息计算得到对应的映射域名,并将所述请求域名替换为所述映射域名。
7.根据权利要求1所述的方法,其特征在于,所述确定所述访问请求中的请求域名对应的目标内网域名包括:
若所述请求域名与所述自定义请求信息中的域名信息相同,则基于所述请求域名从本地记录中查找对应的内网域名,作为所述目标内网域名;
若所述请求域名与所述自定义请求信息中的域名信息不同,则确定所述自定义信息中的域名信息为所述目标内网域名。
8.根据权利要求7所述的方法,其特征在于,若所述请求域名与所述自定义请求信息中的域名信息不同,则记录所述请求域名与所述自定义信息中的域名信息的映射关系。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述代理服务器接收到的访问请求中未携带自定义请求信息,不对所述访问请求进行处理。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述访问响应数据中包含的内网域名替换为对应的映射域名后,向所述客户端反馈域名替换后的访问响应数据。
11.根据权利要求1或10所述的方法,其特征在于,所述方法还包括:
在反馈域名替换后的所述授权响应数据或所述访问响应数据前,识别传输所述授权响应数据或所述访问响应数据的第一网络协议,若所述第一网络协议无法被所述客户端中的拦截组件拦截,基于第二网络协议对所述授权响应数据和所述访问响应数据进行转发,其中所述第二网络协议转换为能够被所述拦截组件拦截。
12.一种代理服务器,其特征在于,所述代理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110484989.8A CN113194099B (zh) | 2021-04-30 | 2021-04-30 | 一种数据代理方法及代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110484989.8A CN113194099B (zh) | 2021-04-30 | 2021-04-30 | 一种数据代理方法及代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113194099A true CN113194099A (zh) | 2021-07-30 |
CN113194099B CN113194099B (zh) | 2023-04-18 |
Family
ID=76983753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110484989.8A Active CN113194099B (zh) | 2021-04-30 | 2021-04-30 | 一种数据代理方法及代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113194099B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466066A (zh) * | 2022-04-13 | 2022-05-10 | 北京指掌易科技有限公司 | 基于Web的反向代理方法、装置、介质及电子设备 |
CN115987956A (zh) * | 2022-12-28 | 2023-04-18 | 中国电子产业工程有限公司 | Web代理应用的资源引用方法、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103931A1 (en) * | 2001-01-26 | 2002-08-01 | Mott Charles J. | Virtual private networking using domain name service proxy |
US20050235044A1 (en) * | 2004-04-20 | 2005-10-20 | Tazuma Stanley K | Apparatus and methods relating to web browser redirection |
US20050262357A1 (en) * | 2004-03-11 | 2005-11-24 | Aep Networks | Network access using reverse proxy |
CN101242336A (zh) * | 2008-03-13 | 2008-08-13 | 杭州华三通信技术有限公司 | 远程访问内网Web服务器的方法及Web代理服务器 |
US20080195696A1 (en) * | 2004-10-27 | 2008-08-14 | Anne Boutroux | Method For Intercepting Http Redirection Requests, System And Server Device For Carrying Out Said Method |
US20120254429A1 (en) * | 2011-03-31 | 2012-10-04 | International Business Machine Corporation | Non-Intrusive Single Sign-On Mechanism in Cloud Services |
CN110149423A (zh) * | 2019-07-04 | 2019-08-20 | 深圳市珍爱捷云信息技术有限公司 | 域名处理方法、装置、可读存储介质及电子设备 |
CN110572460A (zh) * | 2019-09-11 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 基于区块链系统的数据传输方法、装置及计算机设备 |
CN110602269A (zh) * | 2019-10-22 | 2019-12-20 | 北京天融信网络安全技术有限公司 | 一种转换域名的方法 |
CN110808897A (zh) * | 2019-11-06 | 2020-02-18 | 深信服科技股份有限公司 | 代理访问方法、用户设备、存储介质、装置及系统 |
CN112235408A (zh) * | 2020-10-19 | 2021-01-15 | 新华三信息安全技术有限公司 | 网络系统、反向代理方法及反向代理服务器 |
CN112260990A (zh) * | 2020-09-16 | 2021-01-22 | 厦门网宿有限公司 | 一种安全访问内网应用的方法和装置 |
CN112272158A (zh) * | 2020-09-16 | 2021-01-26 | 厦门网宿有限公司 | 一种数据代理方法、系统及代理服务器 |
-
2021
- 2021-04-30 CN CN202110484989.8A patent/CN113194099B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020103931A1 (en) * | 2001-01-26 | 2002-08-01 | Mott Charles J. | Virtual private networking using domain name service proxy |
US20050262357A1 (en) * | 2004-03-11 | 2005-11-24 | Aep Networks | Network access using reverse proxy |
US20050235044A1 (en) * | 2004-04-20 | 2005-10-20 | Tazuma Stanley K | Apparatus and methods relating to web browser redirection |
US20080195696A1 (en) * | 2004-10-27 | 2008-08-14 | Anne Boutroux | Method For Intercepting Http Redirection Requests, System And Server Device For Carrying Out Said Method |
CN101242336A (zh) * | 2008-03-13 | 2008-08-13 | 杭州华三通信技术有限公司 | 远程访问内网Web服务器的方法及Web代理服务器 |
US20120254429A1 (en) * | 2011-03-31 | 2012-10-04 | International Business Machine Corporation | Non-Intrusive Single Sign-On Mechanism in Cloud Services |
CN110149423A (zh) * | 2019-07-04 | 2019-08-20 | 深圳市珍爱捷云信息技术有限公司 | 域名处理方法、装置、可读存储介质及电子设备 |
CN110572460A (zh) * | 2019-09-11 | 2019-12-13 | 腾讯科技(深圳)有限公司 | 基于区块链系统的数据传输方法、装置及计算机设备 |
CN110602269A (zh) * | 2019-10-22 | 2019-12-20 | 北京天融信网络安全技术有限公司 | 一种转换域名的方法 |
CN110808897A (zh) * | 2019-11-06 | 2020-02-18 | 深信服科技股份有限公司 | 代理访问方法、用户设备、存储介质、装置及系统 |
CN112260990A (zh) * | 2020-09-16 | 2021-01-22 | 厦门网宿有限公司 | 一种安全访问内网应用的方法和装置 |
CN112272158A (zh) * | 2020-09-16 | 2021-01-26 | 厦门网宿有限公司 | 一种数据代理方法、系统及代理服务器 |
CN112235408A (zh) * | 2020-10-19 | 2021-01-15 | 新华三信息安全技术有限公司 | 网络系统、反向代理方法及反向代理服务器 |
Non-Patent Citations (2)
Title |
---|
张仁等: "基于Web浏览器的SSL VPN网关系统的设计和实现", 《计算机工程与设计》 * |
陈萍等: "SSL VPN中HTTP代理服务器的实现", 《计算机与信息技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466066A (zh) * | 2022-04-13 | 2022-05-10 | 北京指掌易科技有限公司 | 基于Web的反向代理方法、装置、介质及电子设备 |
CN115987956A (zh) * | 2022-12-28 | 2023-04-18 | 中国电子产业工程有限公司 | Web代理应用的资源引用方法、电子设备及存储介质 |
CN115987956B (zh) * | 2022-12-28 | 2024-03-12 | 中国电子产业工程有限公司 | Web代理应用的资源引用方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113194099B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022057000A1 (zh) | 一种数据代理方法、系统及代理服务器 | |
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
CN109543463B (zh) | 数据安全访问方法、装置、计算机设备及存储介质 | |
WO2022247751A1 (zh) | 远程访问应用的方法、系统、装置、设备及存储介质 | |
WO2022056996A1 (zh) | 一种安全访问内网应用的方法和装置 | |
CN113381979B (zh) | 一种访问请求代理方法及代理服务器 | |
CN112788031A (zh) | 基于Envoy架构的微服务接口认证系统、方法及装置 | |
CN113194099B (zh) | 一种数据代理方法及代理服务器 | |
US10341286B2 (en) | Methods and systems for updating domain name service (DNS) resource records | |
US11616853B2 (en) | Dynamic domain discovery and proxy configuration | |
CN107528865A (zh) | 文件的下载方法和系统 | |
CN114902612A (zh) | 基于边缘网络的帐户保护服务 | |
CN112260988B (zh) | 一种异常请求处理方法和装置 | |
US20090019523A1 (en) | Controlling network communications | |
US9894057B2 (en) | Method and system for managing secure custom domains | |
CN115189897A (zh) | 零信任网络的访问处理方法、装置、电子设备及存储介质 | |
EP3956842A1 (en) | Destination addressing associated with a distributed ledger | |
CN113784354A (zh) | 基于网关的请求转换方法和装置 | |
CN115913583A (zh) | 业务数据访问方法、装置和设备及计算机存储介质 | |
CN108933794B (zh) | 一种加入企业策略的方法、装置、设备及服务器 | |
US10382431B2 (en) | Network hop count network location identifier | |
CN115150170B (zh) | 安全策略配置方法、装置、电子设备和存储介质 | |
CN112260991B (zh) | 一种鉴权管理方法和装置 | |
CN113300867B (zh) | Cdn系统、信息处理方法及装置、cdn节点 | |
CN115987956B (zh) | Web代理应用的资源引用方法、电子设备及存储介质 |
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 |