CN111064823A - 数据处理方法、终端、装置及存储介质 - Google Patents
数据处理方法、终端、装置及存储介质 Download PDFInfo
- Publication number
- CN111064823A CN111064823A CN201911375905.6A CN201911375905A CN111064823A CN 111064823 A CN111064823 A CN 111064823A CN 201911375905 A CN201911375905 A CN 201911375905A CN 111064823 A CN111064823 A CN 111064823A
- Authority
- CN
- China
- Prior art keywords
- domain name
- link
- outer chain
- sub
- request
- 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
Images
Classifications
-
- 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/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
-
- 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/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明公开了一种数据处理方法,包括以下步骤:在接收到客户端发送的主站请求时,将主站请求发送至主站服务器,将主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至客户端,将子域名对应的外链请求还原为外链域名对应的外链请求,基于NAT64协议创建IPv4的访问链路至外链服务器,基于IPv4访问链路发送外链域名对应的外链请求至外链服务器,将接收到的所述外链应答数据发送至所述客户端。本发明还公开了一种装置、终端及存储介质。通过动态解析外链域名,将外链域名更新为主站根域名的子域名,可兼容HTTPS外链访问,与现有技术相比,提升了IPv6和IPv4两个网络之间的数据交互效率。
Description
技术领域
本发明涉及终端技术领域,尤其涉及一种数据处理方法、终端、装置及存储介质。
背景技术
一个网站页面包含大量资源链接,如图片、JS代码、CSS代码等。这些资源协同配合,才使浏览器能够完整呈现五彩缤纷的页面。网站加载的资源中,大部分是属于当前主站,而有小部分属于其他网站,例如JQuery这种业内流行的框架资源等。当前主站通过外部链接的方式加载这些外链资源。这样一个网站就不是孤立的,而是与其他的域名有千丝万缕的关联。
在IPv6改造过程中,客户仅能控制自己主站保证通过IPv6链路能够正常访问,因外链域名的地址解析归属他人所有,无法改造外链域名资源。当完成IPv6改造后,主站会成为一座孤岛,IPv6线路访问只能加载主站域名资源,无法加载外链域名资源,浏览器中显示会出现各种异常,这种问题及现象称之为“IPv6天窗”,简称为“天窗”问题。
目前,业内也有采用代理方式解决“天窗”问题,但是无法动态识别外链资源,需要人工分析,外链访问加载缓慢,且无法代理HTTPS外链,导致解决“天窗”问题效率低。
发明内容
本发明的主要目的在于提供一种数据处理方法、终端、装置及存储介质,旨在解决现有IPv6和IPv4两个网络之间的数据交互效率低的技术问题。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括以下步骤:
在接收到客户端发送的主站请求时,将主站请求发送至所述主站服务器,其中,所述主站服务器采用IPv6地址;
将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端;
接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求;
基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器;
将接收到的所述外链应答数据发送至所述客户端。
进一步地,在一实施方式中,所述将所述主站应答数据中的外链域名更新为主站根域名的子域名的步骤包括:
对所述主站应答数据进行动态解析,获得外链域名;
基于主站域名以及所述外链域名生成所述主站根域名的子域名;
将所述主站应答数据中的外链域名更新为主站根域名的子域名,并发布所述子域名对应的4A记录至DNS系统,其中,所述4A记录中IPv6地址指向所述代理终端。
进一步地,在一实施方式中,所述对所述主站应答数据进行动态解析,获得外链域名的步骤包括:
基于预设正则表达式在所述主站应答数据中解析出域名列表;
将所述域名列表与预设域名白名单进行比对,获得所述外链域名。
进一步地,在一实施方式中,所述基于主站域名以及所述外链域名生成所述主站根域名的子域名的步骤包括:
使用预设符号将所述外链域名修改为字符串,并将所述字符串与所述主站域名的主站根域名进行组合,得到所述主站根域名的子域名。
进一步地,在一实施方式中,所述接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求的步骤包括:
将所述子域名对应的外链请求中域名更新为外链域名,得到所述外链域名对应的外链请求。
进一步地,在一实施方式中,所述基于NAT64协议创建IPv4访问链路至外链服务器的步骤包括:
对所述外链域名进行解析,得到所述外链域名对应的IPv4地址,其中,所述IPv4地址为外链服务器的地址;
基于NAT64协议以及所述IPv4地址,创建所述代理终端与所述外链服务器之间的IPv4访问链路。
进一步地,在一实施方式中,所述对所述外链域名进行解析,得到所述外链域名对应的IPv4地址的步骤包括:
获取DNS解析表,确定所述DNS解析表中是否存在所述外链域名;
在所述DNS解析表中存在所述外链域名时,在所述DNS解析表中获取所述外链域名对应的IPv4地址,其中,所述DNS解析表中保存域名与IPv4地址对应关系。
进一步地,在一实施方式中,所述获取DNS解析表,确定所述DNS解析表中是否存在所述外链域名的步骤之后,还包括:
在所述DNS解析表中不存在所述外链域名时,生成所述外链域名对应的DNS请求;
接收所述DNS请求对应的DNS解析结果,在所述DNS解析结果中得到所述外链域名对应的IPv4地址;
将所述DNS解析结果更新至所述DNS解析表。
进一步地,在一实施方式中,所述客户端与所述代理终端之间以及所述代理终端与外链服务器之间均为满足HTTPS协议连接,所述接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求的步骤包括:
对所述子域名对应的外链请求进行解密,得到解密后的外链请求;
将所述解密后的外链请求中域名更新为外链域名;
将更新后的外链请求进行加密,得到所述外链域名对应的外链请求。
进一步地,在一实施方式中,所述数据处理装置包括:
发送模块,用于在接收到客户端发送的主站请求时,将主站请求发送至所述主站服务器,以使所述主站服务器反馈主站应答数据,其中,所述主站服务器采用IPv6地址;
更新模块,用于将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端;
还原模块,用于接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求;
处理模块,用于基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器,以使所述外链服务器反馈外链应答数据;
转发模块,用于将接收到的所述外链应答数据发送至所述客户端。
此外,为实现上述目的,本发明还提供一种代理终端,所述代理终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现上述任一项所述数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述任一项所述数据处理方法的步骤。
本发明在接收到客户端发送的主站请求时,将所述主站请求发送至所述主站服务器,以使所述主站服务器反馈主站应答数据,其中,所述主站服务器采用IPv6地址,而后将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端,接下来接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求,然后基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器,以使所述外链服务器反馈外链应答数据,最后将接收到的所述外链应答数据发送至所述客户端。通过动态解析外链域名,并将外链域名更新为主站根域名的子域名,从而可以解决HTTPS外链访问,进一步提升了“IPv6天窗”问题解决效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中终端的结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理方法第二实施例的流程示意图;
图4为本发明数据处理装置实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中代理终端的结构示意图。
如图1所示,该代理终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
在图1所示的代理终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接用户端,与用户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据处理程序。
在本实施例中,代理终端包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的数据处理程序,其中,处理器1001调用存储器1005中存储的数据处理程序时,执行本申请各个实施例提供的数据处理方法的步骤。
本发明还提供一种数据处理方法,参照图2,图2为本发明数据处理方法第一实施例的流程示意图。
本发明实施例提供了数据处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中,该数据处理方法包括:
步骤S10,在接收到客户端发送的主站请求时,将主站请求发送至所述主站服务器,其中,所述主站服务器采用IPv6地址;
在本实施例中,随着5G时代的到来,终端设备越来越多,IPv4地址早已无法满足需求大量IP地址的应用场景。而IPv6具有更多地址数量、更小路由表、更好安全性等优点,可以彻底解决5G时代IPv4网络面临的各种问题。IPv6在1992年被提出,经过二十多年的发展,已经是一个非常成熟的协议体系。但IPv6并不是IPv4的改进,而是一个全新的协议,也就是说它并不兼容IPv4,也就不可能一步到位全网替换IPv4。为了保障IPv4向IPv6的顺利演进,国际互联网工程任务组(IETF)成立专门工作组进行研究,形成了三类技术方案:双栈技术、隧道技术、协议转换技术。
协议转换技术具体为NAT64与DNS64技术,但是目前的协议转换技术存在无法动态识别外链资源,需要人工分析,外链访问加载缓慢,且无法代理HTTPS外链等问题,本发明通过动态解析外链域名,并将外链域名更新为主站根域名的子域名,兼容HTTPS外链访问,提高了IPv6和IPv4两个网络之间的数据交互效率。
具体地,在DNS系统中预先配置好主站域名与代理终端的IPv6地址的映射关系,客户端在IPv6环境下,在客户端浏览器中输入主站域名,DNS解析出IPv6地址,该地址指向代理终端。在客户端与代理终端之间建立连接后,客户端发送主站请求,代理终端收到主站请求后,根据预设的IP地址对照表查找到主站服务器对应的真正的IPv6地址,将主站请求转发给主站服务器,主站服务器反馈主站应答数据。
步骤S20,将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端;
在本实施例中,网站中资源链接多种多样,主站通过外部链接的方式加载这些外链资源,在主站服务器反馈的主站应答数据中,包括外链域名和其他数据,需要从主站应答数据中解析出外链域名,然后将外链域名更新为主站根域名的子域名,目的是让子域名指向代理终端,再发送更新后的主站应答数据至客户端。
具体地,步骤S20包括:
步骤S21,对所述主站应答数据进行动态解析,获得外链域名;
具体地,步骤S21包括:
步骤a,基于预设正则表达式在所述主站应答数据中解析出域名列表;
步骤b,将所述域名列表与预设域名白名单进行比对,获得所述外链域名。
网站中资源链接多种多样,外链域名的格式也不统一,对于常见的外链域名,可以基于正则表达式进行识别,根据实际情况,配置多个正则表达式例如:https?:\\?/\\?/[%w%-]+%.[%w%-%.:]+/?[^%s\"\'\\%?%(%|]*%??,当解析出域名后,与预设域名白名单进行比对,只要非主站的域名或预设域名白名单中的域名,都判定为外链域名。
需要说明的是,一个正则表达式仅能识别其中一种域名格式,且是常见域名,对于无法识别的,例如各式JS字符串拼接完成的域名,若为较通用的域名格式可补充正则表达式,否则,需要自定义改写规则完成域名识别和外链域名修改。自定义规则格式包含3部分:匹配的请求URL地址;需识别的字符串正则表达式;准备替换成的目的字符串。
步骤S22,基于主站域名以及所述外链域名生成所述主站根域名的子域名;
在本实施例中,根据预设规则生产外链域名对应的主站根域名的子域名。
具体地,步骤S22包括:
步骤c,使用预设符号将所述外链域名修改为字符串,并将所述字符串与所述主站域名的主站根域名进行组合,得到所述主站根域名的子域名。
在本实施例中,HTTPS是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基础下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。SSL服务器证书可以有效地证明网站的真实信息、使用域名的合法性,让使用者可以很容易识别真实网站和仿冒网站。SSL证书在申请的时候都会通过严格的审查手段对申请者的身份进行确认,用户在访问网站的时候可以看到证书的内容,其中包含网站的真实域名、网站的所有者、证书颁发组织等信息。浏览器也会给出相应的安全标识,让访问者可以放心使用。
具体地,SSL证书颁发给的用户支持泛域名,为了让SSL证书具有通用性,故限定SSL中的域名仅支持三级子域名。例如主站根域名为domain.com,则外链域名改成domain.com的子域名,则要求外链信息仅能插入到一个域名段中,故需要将外链域名修改为成一个域名段,具体方法为:使用预设符号将所述外链域名修改为字符串,例如,外链域名www.outerlink.com,预设符号为“--”,得到字符串www--outerlink--com,然后将字符串与主站域名的主站根域名进行组合,得到主站根域名的子域名www--outerlink--com.domain.com。
步骤S23,将所述主站应答数据中的外链域名更新为主站根域名的子域名,并发布所述子域名对应的4A记录至DNS系统,其中,所述4A记录中IPv6地址指向所述代理终端。
在本实施例中,根据预设规则生产外链域名对应的主站根域名的子域名后,将主站应答数据中的外链域名更新为主站根域名的子域名,同时,为了保证子域名指向代理终端,需要在DNS系统中增加子域名与代理终端的IPv6地址的映射关系,即发布子域名对应的4A记录至DNS系统,4A记录是DNS记录中,保存IPv6地址的请求应答格式。
步骤S30,接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求;
在本实施例中,代理终端将更新后的主站应答数据发生至客户端,客户端将外链域名修改为主站根域名的子域名,然后发送子域名对应的外链请求至代理终端。代理终端接收客户端发送的子域名对应的外链请求后,需要将子域名对应的外链请求还原为外链域名对应的外链请求。需要说明的是,HTTP协议中Cookie通过名称、域名和路径三点相互隔离。而对于修改后的外链,域名变成了主站域名的子域名,需要同步修改Set-Cookie中的域名为主站域名的子域名。
具体地,步骤S30包括:
步骤S31,将所述子域名对应的外链请求中域名更新为外链域名,得到所述外链域名对应的外链请求。
在本实施例中,外链请求头部中的域名为修改后的子域名,若直接发给外链服务器,会被拒绝。需要解析并修改头部中的子域名为真实外链域名,让外链服务器无感知中间有其他代理终端。
具体地,代理终端接收客户端发送的子域名对应的外链请求后,根据预设还原规则,将在子域名中还原出外链域名,也可以根据预先设置的子域名与外链域名对照表,通过查表获取外链域名。而后,将子域名对应的外链请求中域名更新为外链域名,得到外链域名对应的外链请求。
进一步地,当客户端与代理终端之间以及代理终端与外链服务器之间均为满足HTTPS协议连接时,步骤S30包括:
步骤S32,对所述子域名对应的外链请求进行解密,得到解密后的外链请求;
步骤S33,将所述解密后的外链请求中域名更新为外链域名;
步骤S34,将更新后的外链请求进行加密,得到所述外链域名对应的外链请求。
在本实施例中,因为HTTPS在HTTP的基础上加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
具体地,满足HTTPS协议的外链请求是加密后的,故为了实现将子域名对应的外链请求还原为外链域名对应的外链请求,首先,需要对子域名对应的外链请求进行解密,得到解密后的外链请求;然后,将解密后的外链请求中域名更新为外链域名,例如根据预设还原规则,将在子域名中还原出外链域名,也可以根据预先设置的子域名与外链域名对照表,通过查表获取外链域名;最后,将更新后的外链请求再进行加密,得到外链域名对应的外链请求。
步骤S40,基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器;
在本实施例中,NAT64是一种有状态的网络地址与协议转换技术,支持通过IPv6网络侧用户发起连接访问IPv4侧网络资源,满足了IPv6主机与IPv4网络互通的需求。NAT64也支持通过手工配置静态映射关系实现IPv4网络主动发起连接访问IPv6网络的需求。根据NAT64协议创建IPv4的访问链路至外链服务器,利用IPv4访问链路发送外链域名对应的外链请求至外链服务器,以使外链服务器反馈外链应答数据。
需要说明的是,为了保证安全访问外链服务器,避免恶意访问或攻击外链服务器,可采用以下措施:
1、外链域名修改名单:仅对在名单中的外链域名才进行域名解析,发送请求至外链服务器。
2、外链域名加密:外链域名改造格式固定,用户则可构造任意想访问的地址直接访问,存在风险。加密外链是将外链域名经过一定算法计算出哈希值,将哈希值信息与外链域名一起组合成新的域名。在外链访问到装置后,装置重新计算外链域名哈希值,若与带过来的哈希值相同,则表示合法,否则拒绝请求。
3、Referer头部校验:浏览器直接访问域名地址时并不携带带Referer头部,从主站间接访问外链时会携带Referer头部。不允许直接浏览器地址访问,通过检查外链访问时是否存在Referer头部,若不存在,则认为非法访问。
4、通过Cookie方式限制外链访问层数:在访问主站时通过插入Cookie,例如index=1000这样一条信息,域名设置为.domain.com,路径为/,这样在访问任一子链均可携带该Cookie信息。在访问外链时,请求方向记录当前index数值,应答方向重设index数值为之前数值减一,当外链请求携带的index值为0时拒绝请求。在访问主站时,应答方向总是重设index为最大值。这样即可保证外链仅能从主站起始访问后间接访问,且不会无限制层数访问。
具体地,步骤S40包括:
步骤S41,对所述外链域名进行解析,得到所述外链域名对应的IPv4地址,其中,所述IPv4地址为外链服务器的地址;
步骤S42,基于NAT64协议以及所述IPv4地址,创建所述代理终端与所述外链服务器之间的IPv4访问链路。
在本实施例中,首先对外链域名进行DNS解析,得到外链域名对应的IPv4地址,也就是外链服务器的地址,然后代理终端做NAT64转换,重新建立一条IPv4的访问通道,将外链请求通过IPv4通道发送给外链服务器。
步骤S50,将接收到的所述外链应答数据发送至所述客户端。
在本实施例中,外链请求通过IPv4通道发送给外链服务器后,外链服务器反馈外链应答数据至代理终端,代理终端通过客户端与代理终端之间的IPv6通道将外链应答数据发送给客户端。
本实施例提出的数据处理方法,在接收到客户端发送的主站请求时,将主站请求发送至所述主站服务器,以使所述主站服务器反馈主站应答数据,其中,所述主站服务器采用IPv6地址,而后将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端,接下来接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求,然后基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器,以使所述外链服务器反馈外链应答数据,最后将接收到的所述外链应答数据发送至所述客户端。通过动态解析外链域名,可以快速准确地获取到外链域名,将外链域名更新为主站根域名的子域名,从而可以解决HTTPS外链访问,与现有技术相比,提升了IPv6和IPv4两个网络之间的数据交互效率。
基于第一实施例,参照图3,提出本发明数据处理方法的第二实施例,在本实施例中,步骤S41包括:
步骤S411,获取DNS解析表,确定所述DNS解析表中是否存在所述外链域名;
步骤S412,在所述DNS解析表中存在所述外链域名时,在所述DNS解析表中获取所述外链域名对应的IPv4地址,其中,所述DNS解析表中保存域名与IPv4地址对应关系。
在本实施例中,对外链域名进行DNS解析,得到外链域名对应的IPv4地址,也就是外链服务器的地址,通常的做法是发送外链域名对应的DNS请求,DNS系统进行DNS解析,等待DNS应答后再转发外链请求。这种做法缺陷是阻塞后续其他外链请求处理,一旦某些新的外链域名访问过多,代理终端将会无法处理新的请求。本发明采用DNS缓存以及请求排队机制,解决以上问题。
具体地,将已解析的DNS请求结果保存在DNS解析表中,同一外链域名再次请求时,直接读取DNS解析结果,加快响应速度避免频繁解析。缓存时间可依据DNS记录TTL或者自定时间范围。获取DNS解析表,如果DNS解析表中存在外链域名时,在DNS解析表中获取外链域名对应的IPv4地址。
步骤S413,在所述DNS解析表中不存在所述外链域名时,生成所述外链域名对应的DNS请求;
步骤S414,接收所述DNS请求对应的DNS解析结果,在所述DNS解析结果中得到所述外链域名对应的IPv4地址;
步骤S415,将所述DNS解析结果更新至所述DNS解析表。
在本实施例中,当DNS解析表中不存在所述外链域名时,需要发起DNS请求进行域名解析,为了防止发生阻塞,将当前外链请求缓存,继续处理其他请求,避免等待DNS应答阻塞。在接收DNS请求对应的DNS解析结果后,缓存排队的外链请求再出队列重新调度,并发送给外链服务器。同时,将DNS解析结果更新至所述DNS解析表。
本实施例提出的数据处理方法,采用DNS缓存以及请求排队机制,有效避免了等待DNS解析而发生阻塞,提升了DNS解析效率。
本发明进一步提供一种数据处理装置,参照图4,图4为本发明数据处理装置实施例的功能模块示意图。
发送模块10,用于在接收到客户端发送的主站请求时,将主站请求发送至所述主站服务器,其中,所述主站服务器采用IPv6地址;
更新模块20,用于将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端;
还原模块30,用于接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求;
处理模块40,用于基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器;
转发模块50,用于将接收到的所述外链应答数据发送至所述客户端。
进一步地,所述更新模块20还用于:
对所述主站应答数据进行动态解析,获得外链域名;
基于主站域名以及所述外链域名生成所述主站根域名的子域名;
将所述主站应答数据中的外链域名更新为主站根域名的子域名,并发布所述子域名对应的4A记录至DNS系统,其中,所述4A记录中IPv6地址指向所述代理终端。
进一步地,所述更新模块20还用于:
基于预设正则表达式在所述主站应答数据中解析出域名列表;
将所述域名列表与预设域名白名单进行比对,获得所述外链域名。
进一步地,所述更新模块20还用于:
使用预设符号将所述外链域名修改为字符串,并将所述字符串与所述主站域名的主站根域名进行组合,得到所述主站根域名的子域名。
进一步地,所述生成模块30还用于:
将所述子域名对应的外链请求中域名更新为外链域名,得到所述外链域名对应的外链请求。
进一步地,所述处理模块40还用于:
对所述外链域名进行解析,得到所述外链域名对应的IPv4地址,其中,所述IPv4地址为外链服务器的地址;
基于NAT64协议以及所述IPv4地址,创建所述代理终端与所述外链服务器之间的IPv4访问链路。
进一步地,所述处理模块40还用于:
获取DNS解析表,确定所述DNS解析表中是否存在所述外链域名;
在所述DNS解析表中存在所述外链域名时,在所述DNS解析表中获取所述外链域名对应的IPv4地址,其中,所述DNS解析表中保存域名与IPv4地址对应关系
进一步地,所述处理模块40还用于:
在所述DNS解析表中不存在所述外链域名时,生成所述外链域名对应的DNS请求;
接收所述DNS请求对应的DNS解析结果,在所述DNS解析结果中得到所述外链域名对应的IPv4地址;
将所述DNS解析结果更新至所述DNS解析表。
进一步地,所述生成模块30还用于:
对所述子域名对应的外链请求进行解密,得到解密后的外链请求;
将所述解密后的外链请求中域名更新为外链域名;
将更新后的外链请求进行加密,得到所述外链域名对应的外链请求。
本实施例中,在接收到客户端发送的主站请求时,将主站请求发送至所述主站服务器,以使所述主站服务器反馈主站应答数据,其中,所述主站服务器采用IPv6地址,而后将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端,接下来接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求,然后基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器,以使所述外链服务器反馈外链应答数据,最后将接收到的所述外链应答数据发送至所述客户端。通过动态解析外链域名,可以快速准确地获取到外链域名,将外链域名更新为主站根域名的子域名,从而可以解决HTTPS外链访问,与现有技术相比,提升了IPv6和IPv4两个网络之间的数据交互效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述各个实施例中数据处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台系统设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种数据处理方法,应用于代理终端,其特征在于,所述数据处理方法包括以下步骤:
在接收到客户端发送的主站请求时,将所述主站请求发送至主站服务器,其中,所述主站服务器采用IPv6地址;
将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端;
接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求;
基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器;
将接收到的所述外链应答数据发送至所述客户端。
2.如权利要求1所述数据处理方法,其特征在于,所述将所述主站应答数据中的外链域名更新为主站根域名的子域名的步骤包括:
对所述主站应答数据进行动态解析,获得外链域名;
基于主站域名以及所述外链域名生成所述主站根域名的子域名;
将所述主站应答数据中的外链域名更新为主站根域名的子域名,并发布所述子域名对应的4A记录至DNS系统,其中,所述4A记录中IPv6地址指向所述代理终端。
3.如权利要求2所述数据处理方法,其特征在于,所述对所述主站应答数据进行动态解析,获得外链域名的步骤包括:
基于预设正则表达式在所述主站应答数据中解析出域名列表;
将所述域名列表与预设域名白名单进行比对,获得所述外链域名。
4.如权利要求2所述数据处理方法,其特征在于,所述基于主站域名以及所述外链域名生成所述主站根域名的子域名的步骤包括:
使用预设符号将所述外链域名修改为字符串,并将所述字符串与所述主站域名的主站根域名进行组合,得到所述主站根域名的子域名。
5.如权利要求1所述数据处理方法,其特征在于,所述接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求的步骤包括:
将所述子域名对应的外链请求中的域名更新为外链域名,得到所述外链域名对应的外链请求。
6.如权利要求1至5中任一项所述数据处理方法,其特征在于,所述基于NAT64协议创建IPv4访问链路至外链服务器的步骤包括:
对所述外链域名进行解析,得到所述外链域名对应的IPv4地址,其中,所述IPv4地址为外链服务器的地址;
基于NAT64协议以及所述IPv4地址,创建所述代理终端与所述外链服务器之间的IPv4访问链路。
7.如权利要求6所述数据处理方法,其特征在于,所述对所述外链域名进行解析,得到所述外链域名对应的IPv4地址的步骤包括:
获取DNS解析表,确定所述DNS解析表中是否存在所述外链域名;
在所述DNS解析表中存在所述外链域名时,在所述DNS解析表中获取所述外链域名对应的IPv4地址,其中,所述DNS解析表中保存域名与IPv4地址对应关系。
8.如权利要求7所述数据处理方法,其特征在于,所述获取DNS解析表,确定所述DNS解析表中是否存在所述外链域名的步骤之后,还包括:
在所述DNS解析表中不存在所述外链域名时,生成所述外链域名对应的DNS请求;
接收所述DNS请求对应的DNS解析结果,在所述DNS解析结果中得到所述外链域名对应的IPv4地址;
将所述DNS解析结果更新至所述DNS解析表。
9.如权利要求1所述数据处理方法,其特征在于,所述客户端与所述代理终端之间以及所述代理终端与外链服务器之间均为满足HTTPS协议连接,所述接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求的步骤,还包括:
对所述子域名对应的外链请求进行解密,得到解密后的外链请求;
将所述解密后的外链请求中域名更新为外链域名;
将更新后的外链请求进行加密,得到所述外链域名对应的外链请求。
10.一种数据处理装置,其特征在于,所述数据处理装置包括:
发送模块,用于在接收到客户端发送的主站请求时,将主站请求发送至所述主站服务器,以使所述主站服务器反馈主站应答数据,其中,所述主站服务器采用IPv6地址;
更新模块,用于将所述主站应答数据中的外链域名更新为主站根域名的子域名,发送更新后的主站应答数据至所述客户端,其中,所述子域名对应的IPv6地址指向所述代理终端;
还原模块,用于接收客户端发送的子域名对应的外链请求,将所述子域名对应的外链请求还原为外链域名对应的外链请求;
处理模块,用于基于NAT64协议创建IPv4的访问链路至外链服务器,基于所述IPv4访问链路发送所述外链域名对应的外链请求至外链服务器,以使所述外链服务器反馈外链应答数据;
转发模块,用于将接收到的所述外链应答数据发送至所述客户端。
11.一种代理终端,其特征在于,所述代理终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至9中任一项所述数据处理方法的步骤。
12.一种存储介质,其特征在于,所述存储介质上存储有所述数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至9中任一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375905.6A CN111064823A (zh) | 2019-12-27 | 2019-12-27 | 数据处理方法、终端、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375905.6A CN111064823A (zh) | 2019-12-27 | 2019-12-27 | 数据处理方法、终端、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111064823A true CN111064823A (zh) | 2020-04-24 |
Family
ID=70302888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911375905.6A Pending CN111064823A (zh) | 2019-12-27 | 2019-12-27 | 数据处理方法、终端、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064823A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600950A (zh) * | 2020-12-09 | 2021-04-02 | 福建万物易联网络科技有限公司 | 一种短横杆格式的外链改写方法及系统 |
CN112702425A (zh) * | 2020-12-22 | 2021-04-23 | 杭州易安联科技有限公司 | 基于域名泛解析的web应用访问代理方法、装置和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463915B1 (en) * | 2010-09-17 | 2013-06-11 | Google Inc. | Method for reducing DNS resolution delay |
CN106790503A (zh) * | 2016-12-16 | 2017-05-31 | 广东睿哲科技股份有限公司 | 一种基于HTTP反向代理实现无天窗的IPv4网站应用向IPv6升级的装置 |
CN109561078A (zh) * | 2018-11-09 | 2019-04-02 | 深圳万物云联科技有限公司 | 一种外链url资源调用方法及装置 |
CN109862130A (zh) * | 2019-02-18 | 2019-06-07 | 深信服科技股份有限公司 | 一种访问IPv4外链方法、装置、设备及计算机介质 |
CN110392130A (zh) * | 2019-08-23 | 2019-10-29 | 北京天融信网络安全技术有限公司 | 基于网络的信息处理方法、电子设备及网络系统 |
-
2019
- 2019-12-27 CN CN201911375905.6A patent/CN111064823A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463915B1 (en) * | 2010-09-17 | 2013-06-11 | Google Inc. | Method for reducing DNS resolution delay |
CN106790503A (zh) * | 2016-12-16 | 2017-05-31 | 广东睿哲科技股份有限公司 | 一种基于HTTP反向代理实现无天窗的IPv4网站应用向IPv6升级的装置 |
CN109561078A (zh) * | 2018-11-09 | 2019-04-02 | 深圳万物云联科技有限公司 | 一种外链url资源调用方法及装置 |
CN109862130A (zh) * | 2019-02-18 | 2019-06-07 | 深信服科技股份有限公司 | 一种访问IPv4外链方法、装置、设备及计算机介质 |
CN110392130A (zh) * | 2019-08-23 | 2019-10-29 | 北京天融信网络安全技术有限公司 | 基于网络的信息处理方法、电子设备及网络系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600950A (zh) * | 2020-12-09 | 2021-04-02 | 福建万物易联网络科技有限公司 | 一种短横杆格式的外链改写方法及系统 |
CN112702425A (zh) * | 2020-12-22 | 2021-04-23 | 杭州易安联科技有限公司 | 基于域名泛解析的web应用访问代理方法、装置和系统 |
CN112702425B (zh) * | 2020-12-22 | 2022-12-23 | 杭州易安联科技有限公司 | 基于域名泛解析的web应用访问代理方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE47019E1 (en) | Methods for DNSSEC proxying and deployment amelioration and systems thereof | |
US10003576B2 (en) | Rule-based routing to resources through a network | |
CA2775206C (en) | System and method of handling requests in a multi-homed reverse proxy | |
US20200007494A1 (en) | Incompatible network gateway provisioned through dns | |
US10484509B2 (en) | Anycast transport protocol for content distribution networks | |
US20170295133A1 (en) | Establishing unique sessions for dns subscribers | |
US11736446B2 (en) | Object property getter and setter for clientless VPN | |
US8533453B2 (en) | Method and system for configuring a server and dynamically loading SSL information | |
WO2006044820A2 (en) | Rule-based routing to resources through a network | |
CN107979520B (zh) | 消息处理方法及消息处理装置 | |
CN105981009A (zh) | 加密内容的缓存 | |
US20130291073A1 (en) | Multi-stack subscriber sign on | |
US11836213B2 (en) | Encoding-free JavaScript stringify for clientless VPN | |
CN111064823A (zh) | 数据处理方法、终端、装置及存储介质 | |
US10673971B1 (en) | Cross-partition messaging using distributed queues | |
US20210073297A1 (en) | Browser storage for clientless vpn | |
US20150295886A1 (en) | System for identifying current internet protocol address for a remote computing device | |
WO2024050341A1 (en) | Runtime match domain configurations |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200424 |
|
RJ01 | Rejection of invention patent application after publication |