CN108737471B - 一种网络访问方法及装置 - Google Patents
一种网络访问方法及装置 Download PDFInfo
- Publication number
- CN108737471B CN108737471B CN201710261353.0A CN201710261353A CN108737471B CN 108737471 B CN108737471 B CN 108737471B CN 201710261353 A CN201710261353 A CN 201710261353A CN 108737471 B CN108737471 B CN 108737471B
- Authority
- CN
- China
- Prior art keywords
- request message
- type
- message
- domain name
- 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.)
- Active
Links
Images
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- 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/08—Protocols for interworking; Protocol conversion
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Abstract
本发明实施例公开了一种网络访问方法及装置,涉及互联网技术领域,解决了如何在不影响站点正常经营的情况下提高站点的安全性的问题。本发明包括:向所述客户端发送域名清单;若接收到的请求消息为第一类请求消息,则对所述第一类请求消息进行转换处理,并得到第二类请求消息,将所述第二类请求消息通过负载均衡系统向所述业务系统发送。本发明适用于全站系统的HTTPS改造。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种网络访问方法及装置。
背景技术
目前,依托互联网技术和移动通信技术的快速发展,很多销售企业都已建立并运行了大量的在线交易平台、门户网站、移动服务站点等服务端站点。
当下的大部分网站在于客户端进行通信时,主要采用的通信制式是HTTP(超文本传输协议,HyperText Transfer Protocol),作为一种成熟运用多年的协议制式,HTTP已难以应对目前愈来愈复杂的网络环境,例如:很多在线交易平台的请求URL(统一资源定位符,Uniform Resource Locator)经常遭到劫持,以至于用户投诉每天发生,严重影响了企业形象和经济利益;且在线金融产品而言,如果使用HTTP相当于明文网络传输,用户账号和资金存在严重的安全风险。因此目前主流互联网企业都开始提倡并采用安全性更高的HTTPS(超文本传输安全协议,Hypertext Transfer Protocol Secure)。
但是,处于运营连续性和改造成本等现实情况,业内的运营商都无法对本企业正在运行的系统下线接收改造,或者建设一套全新的基于HTTPS的系统,并且HTTPS后续的HTTP2.0协议也将逐步推广。因此,如何提供一套既能在不影响站点正常经营的情况下提高站点的安全性的改造方案,成为目前急需研究的问题。
发明内容
本发明的实施例提供一种网络访问方法及装置,解决了如何在不影响站点正常经营的情况下提高站点的安全性的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供的方法,
包括:
向所述客户端发送域名清单,所述域名清单中记录的内容包括:当前版本下各域名的协议开关的状态,所述域名清单用于所述客户端根据客户端的版本号和所述域名清单配置对应各域名的协议开关;
若接收到的请求消息为第一类请求消息,则对所述第一类请求消息进行转换处理,并得到第二类请求消息,其中,所述第一类请求消息符合所述客户端与内容分发网络(CDN)之间的通信协议,所述第二类请求消息符合所述CDN与业务系统之间的通信协议,所述第一类请求消息是由所述客户端,在检测到所述第一类请求消息所指向的域名的协议开关开启时发送的;将所述第二类请求消息通过负载均衡系统向所述业务系统发送,其中,所述业务系统采用的是所述第一类请求消息所指向的域名,所述业务系统至少包括网页服务器和应用服务器,所述CDN将所述第二类请求消息向所述负载均衡系统发送后,由所述负载均衡系统透传至所述业务系统,所述CDN、所述负载均衡系统和所述业务系统之间采用HTTP协议建立通信。
结合第一方面,在第一方面的第一种可能的实现方式中,还包括:在所述第二类请求消息上增加消息头,所述消息头包括:用于表示原始协议头部、域名和去参URL的内容,其中,所述业务系统根据所述消息头中的内容确定所需执行的业务动作。
结合第一方面,在第一方面的第二种可能的实现方式中,还包括:
统计得到使用各域名的业务系统的风险数据,所述风险数据至少包括劫持率;
根据采集得到的风险数据,更新所述域名清单中各域名的协议开关的状态;
向所述客户端发送更新包,所述更新包包括了所述客户端的最新版本的程序内容和更新后的域名清单。
结合第一方面,在第一方面的第三种可能的实现方式中,还包括:
当检测到切换事件发生时,所述CDN将所述第一类请求消息透传至网站应用级入侵防御系统(WAF),其中,所述切换事件在所述CDN停止对所述第一类请求消息进行转换处理时触发,所述WAF部署在所述负载均衡系统和所述业务系统之间;
通过所述WAF对所述第一类请求消息进行转换处理,并得到第二类请求消息,再由所述WAF将所述第二类请求消息向所述业务系统发送。
结合第一方面,在第一方面的第四种可能的实现方式中,将字段x-request-url作为所述消息头,所述字段x-request-url的值为:表示原始协议头部、域名和去参URL的字符。
结合第一方面,在第一方面的第五种可能的实现方式中,还包括:
当所述负载均衡系统检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头;
还包括:当所述WAF检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头。
结合第一方面,在第一方面的第六种可能的实现方式中,所述对所述第一类请求消息进行转换处理,并得到第二类请求消息,包括:
所述CDN检测所述第一类请求消息的消息制式是否为HTTPS;
若是则将所述第一类请求消息的消息制式转换为HTTP,得到转换后的消息作为所述第二类请求消息,并将当前切换当前消息传输端口至http的端口;
当所述CDN检测到所述第一类请求消息的消息制式不为HTTPS时,向所述客户端发送跳转消息,所述跳转消息指向采用HTTP协议建立通信的站点。
结合第一方面和第一方面的第一至六种可能的实现方式,在第七种可能的实现方式中,还包括:在将所述第二类请求消息通过负载均衡系统向所述业务系统发送后,根据所述消息头对所述第一类请求消息执行回跳过程。
第二方面,本发明的实施例提供的装置,包括:
接收模块,用于接收客户端发送的第一类请求消息,所述第一类请求消息符合所述客户端与内容分发网络(CDN)之间的通信协议;
转换模块,用于对所述第一类请求消息进行转换处理,并得到第二类请求消息,其中,所述第二类请求消息符合所述CDN与业务系统之间的通信协议;
预处理模块,用于在将所述第二类请求消息通过负载均衡系统向所述业务系统发送之前,在所述第二类请求消息上增加消息头,所述消息头包括:用于表示原始协议头部、域名和去参URL的内容;其中,所述业务系统根据所述消息头中的内容确定所需执行的业务动作;
发送模块,用于将所述第二类请求消息通过负载均衡系统向所述业务系统发送,其中,所述业务系统至少包括网页服务器和应用服务器,所述CDN将所述第二类请求消息向所述负载均衡系统发送后,由所述负载均衡系统透传至所述业务系统,所述CDN、所述负载均衡系统和所述业务系统之间采用HTTP协议建立通信。
结合第二方面,在第二方面的第一种可能的实现方式中,所述发送模块,还用于向所述客户端发送域名清单,所述域名清单中记录的内容包括:当前版本下各域名的协议开关的状态,所述域名清单用于所述客户端根据所述客户端的版本号和所述域名清单配置对应各域名的协议开关,所述第一类请求消息是由所述客户端,在检测到所述第一类请求消息所指向的域名的协议开关开启时发送的;
所述装置还包括:
更新管理模块,用于统计得到使用各域名的业务系统的风险数据,所述风险数据至少包括劫持率;并根据采集得到的风险数据,更新所述域名清单中各域名的协议开关的状态;之后向所述客户端发送更新包,所述更新包包括了所述客户端的最新版本的程序内容和更新后的域名清单。本发明实施例提供的网络访问方法及装置,实现了服务端仍使用HTTP访问,在CDN上完成https的转换,实现了在尽快完成HTTPS握手的同时,并降低对全站进行改造的工作量。从而实现了,在保障消息传输安全性的情况下(比如主要的劫持问题发生在手机至CDN部分,属于前端的问题,则在前端采用安全性较高的HTTPS)尽可能在全链路中减少HTTPS协议的覆盖程度,而替换为传输效率更高的http协议,解决了如何在不影响站点正常经营的情况下提高站点的安全性的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1a、1b为本发明实施例提供的可能的系统架构示意图;
图2为本发明实施例提供的方法流程示意图;
图3为本发明实施例提供的具体实例的示意图;
图4、5为本发明实施例提供的装置的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本实施例中的方法流程,具体可以在一种如图1a和图1b所示的系统上执行,该系统包括:客户端、CDN(内容分发网络,Content Delivery Network)、负载均衡系统(比如由Ctrix、F5等负载均衡设备搭建的系统)、WAF(Web Application Firewall,Web应用防护系统,也称:网站应用级入侵防御系统),和业务系统。其中,业务系统具体包括了:网页服务器和应用服务器。客户端发出的请求消息,先是被CDN接收,然后传输到负载均衡系统,之后再由负载均衡系统发送至WAF,最后通过WAF向业务系统传输。
简单地说,CDN是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(TrafficManagement)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。本实施例中所采用的CDN可以基于现有技术搭建,至于如何架设CDN在此不再赘述。总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。
本实施例中的负载均衡系统上,可以同时采用HTTPS(超文本传输安全协议,Hypertext Transfer Protocol Secure)和HTTP(超文本传输协议,HyperText TransferProtocol)协议并分别提供相应的通信接口,并支持HTTPS的透传,即对于HTTPS请求,负载均衡系统可以不解包,只根据四层的TCP包信息做转发。进一步的,在默认情况下,在CDN上部署HTTPS-HTTP的转换策略的同时,本实施例中的CDN、负载均衡系统、WAF和业务系统等也都可以开启HTTPS透传功能,从而保证接收到的HTTPS消息也能够正常访问业务系统,从而保证系统对于传统的HTTPS制式下数据传输的通顺。
在业务系统中:网页服务器主要用于:向客户端(其中,在用户设备上往往运行有用于商户进行可视化操作的程序或者APP,这类用于进行可视化操作的程序或者APP可以称为客户端程序,本实施例中对于运行了这类程序或者APP的用户设备也可以称为客户端)提供可视化的界面,比如:消费者或者商户(即入驻在电子商务平台的商家)通过操作客户端,访问电子商务平台系统中的某一个业务系统(比如:购物车、促销系统、运费,时效,物流订单,库存系统,报关系统等),并通过该业务系统的网页服务器所提供的浏览界面进行商品查询、文件下载,导入/导出报表等操作。例如:本实施例中的网页服务器,具体可以采用Apache HTTP Server(简称Apache,Apache软件基金会提供的一个开放源码的网页服务器,是一种模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件,可以在大多数计算机操作系统中运行)。以便于快速简单的API(Application Programming Interface,应用程序编程接口)扩展,将Perl/Python等解释器编译到服务器中,从而降低代码开发时的成本。
具体的,在网页服务器与客户端之间,还可以架设WAF,用于阻拦所有来源于客户端的恶意请求或者非正常请求。WAF上可以采用HTTP(HyperText Transfer Protocol,超文本传输协议)协议进行具体的数据交互。
应用服务器主要用于:接收客户端发送的请求,比如:消费者或者商户通过操作智能手机向网站业务系统发送的访问消息,并在较高负载情况下对接收到的请求进行流量控制处理。本实施例中的应用服务器,具体可以采用JBoss(一种基于J2EE的开放源代码的应用服务器)。其中,JBoss代码遵循LGPL许可。应用服务器连接由多个DB节点(计算节点)组成的计算集群,从而为应用服务器的流控过程提供计算资源。
本实施例中所揭示的网页服务器和应用服务器,在硬件层面上具体可以是业务系统、工作站、超级计算机等设备,或者是由多个硬件设备组成的一种用于数据处理的业务系统集群系统。
本实施例中所揭示的客户端具体可以实做成单独一台装置,或整合于各种不同的媒体数据播放装置中,诸如移动电话、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、个人数字助理(personal digital assistant,简称PDA)等。
本发明实施例提供一种网络访问方法,如图2所示,包括:
S1、向所述客户端发送域名清单。
其中,所述域名清单中记录的内容包括:当前版本下各域名的协议开关的状态,所述域名清单用于所述客户端根据所述客户端的版本号和所述域名清单配置对应各域名的协议开关,所述第一类请求消息是由所述客户端,在检测到所述第一类请求消息所指向的域名的协议开关开启时发送的。在本实施例中,可以由服务端的设备(比如由CDN保存域名清单,或者由应用服务器保存域名清单,并在版本升级时通过CDN向客户端设备发送)向所述客户端发送域名清单。
所述第一类请求消息符合所述客户端与内容分发网络(CDN)之间的通信协议;具体的,如图1b所示,所述客户端与内容分发网络(CDN)之间采用HTTP和HTTPS协议建立通信。例如:第一类请求消息具体可以是客户端向CDN发送的https消息。在本实施例中,采用https协议进行数据包的封装并传输的消息报可以称为https消息;同理,采用http协议进行数据包的封装并传输的消息报可以称为http消息。
S2、若接收到的请求消息为第一类请求消息,则对所述第一类请求消息进行转换处理,并得到第二类请求消息。
其中,所述第一类请求消息符合所述客户端与内容分发网络(CDN)之间的通信协议,所述第二类请求消息符合所述CDN与业务系统之间的通信协议,所述第一类请求消息是由所述客户端,在检测到所述第一类请求消息所指向的域名的协议开关开启时发送的;
其中,可以在所述第二类请求消息上增加消息头。所述消息头包括:用于表示原始协议头部、域名和去参URL的内容,其中,所述业务系统根据所述消息头中的内容确定所需执行的业务动作。
S3、将所述第二类请求消息通过负载均衡系统向所述业务系统发送。
其中,所述业务系统采用的是所述第一类请求消息所指向的域名,所述业务系统至少包括网页服务器和应用服务器,所述CDN将所述第二类请求消息向所述负载均衡系统发送后,由所述负载均衡系统透传至所述业务系统,所述CDN、所述负载均衡系统和所述业务系统之间采用HTTP协议建立通信。
在本实施例中,可以在CDN上部署HTTPS-HTTP消息转换策略,具体在于将CDN作为HTTPS的统一接入层,在本实施例的扩展设计中,可以将所有的https接入的优化方案,部署在CDN上,同时服务端的HTTPS开关也可以部署在CDN上。从而保证了从CDN至服务端(负载均衡-WAF-业务系统)可以采用http进行通信,从而即保障了客户端与CDN之间通信的安全性,降低了来自客户端的风险,比如采用HTTP时客户端容易被劫持的问题;又保障了CDN至服务端的业务系统中消息传输的效率,减轻系统压力,实现尽快握手。在这个过程中,负载均衡系统和waf可以只处理http请求,不需要做额外的调整或者系统升级,从而降低服务端系统的开发成本,实现了在不影响站点正常经营的情况下进行站点的安全性的改造之目的。
进一步的,在本实施例中,还包括:
统计得到使用各域名的业务系统的风险数据。之后根据采集得到的风险数据,更新所述域名清单中各域名的协议开关的状态;再向所述客户端发送更新包。
其中,所述风险数据至少包括劫持率,所述更新包包括了所述客户端的最新版本的程序内容和更新后的域名清单。例如:例举一种本实施例在实际应用中,对客户端APP的https改造方式,其中:可以在客户端开发用于在App中配置HTTPS/HTTP的功能开关,灵活地实现HTTPS/HTTP的切换。比如,下面是承担开关功能的字段:
并以app版本号+域名清单的方式,控制指向各个域名的请求,在HTTPS/HTTP协议之间的切换,即不同的版本中提供一些需要HTTPS/HTTP切换的域名,这样可以通过版本迭代逐步将所有的域名进行转换。进一步的,对于先转换的域名可以同时采集使用数据,比如:用户使用了HTTPS/HTTP的切换后,劫持率是否下降,下降多少等,以便进一步维护系统,提高效率,从而降低开发成本。由于对于全链路的业务系统的改造不可能一步到位,在改造的过程中存在一个灰度的过程,因此需要控制有序地、渐进地做切换。通过在App中配置HTTPS/HTTP开关的,在所有的可访问域名中,需要对于一些域名强制开启HTTPS/HTTP的切换,采用HTTPS协议向CDN发送消息,而另一部分暂时不开启,还是采用http向CDN发送消息,从而便于逐步升级业务系统,并实现同时兼容HTTPS/HTTP之目的。
本发明实施例提供的网络访问方法,实现了服务端仍使用HTTP访问,在CDN上完成https的转换,实现了在尽快完成HTTPS握手的同时,并降低对全站进行改造的工作量。从而实现了,在保障消息传输安全性的情况下(比如主要的劫持问题发生在手机至CDN部分,属于前端的问题,则在前端采用安全性较高的HTTPS)尽可能在全链路中减少HTTPS协议的覆盖程度,而替换为传输效率更高的http协议。
具体的,在本实施例中,所述对所述第一类请求消息进行转换处理,并得到第二类请求消息,包括:
所述CDN检测所述第一类请求消息的消息制式是否为HTTPS;
若是则将所述第一类请求消息的消息制式转换为HTTP,得到转换后的消息作为所述第二类请求消息。例如:将https请求转换为http请求,其中,https采用443端口,http采用80端口,“转换”可以理解为:消息制式转换并进行端口重新选择。
并将当前切换当前消息传输端口至http的端口。具体的,CDN将http请求发送至负载均衡系统。
当所述CDN检测到所述第一类请求消息的消息制式不为HTTPS时,向所述客户端发送跳转消息。
其中,所述跳转消息指向采用HTTP协议建立通信的站点。例如:若客户端接入时采用的是http协议,并发出基于http协议的消息后,则在CDN上自动跳转(比如302跳转)至https。其中,302跳转指的是:302重定向(302red i rect)、又称之为302代表暂时性转移(Temporarily Moved)。这里的重定向可以理解为一种服务器端的重定向。从而使得用户首先访问CDN的地址,且通信协议的证书布在CDN上,由CDN识别客户端所要的服务所在的原站(比如业务系统的对外展示的具体网站),然后将转换为http的报文向原站发送。
进一步的,还包括:
当检测到切换事件发生时,所述CDN将所述第一类请求消息透传至网站应用级入侵防御系统,即(Web Application Firewall,网站应用级入侵防御系统)。通过所述WAF对所述第一类请求消息进行转换处理,并得到第二类请求消息,再由所述WAF将所述第二类请求消息向所述业务系统发送。
其中,所述切换事件在所述CDN停止对所述第一类请求消息进行转换处理时触发,所述WAF部署在所述负载均衡系统和所述业务系统之间。切换事件发生则表示CDN暂时无法执行将https请求转换为http请求的过程。
在本实施例的实际应用中,开发人员在业务逻辑代码的编写过程中,经常会在Controller类中做一些重定向(Redirect)或者根据接受到的请求做一些判断。在HTTPS改造过程中,就要求我们根据请求协议的不同(HTTPS/HTTP)做不同的重定向(HTTPS/HTTP)。但是,HTTPS请求到业务系统的应用服务器前会被转换为HTTP请求,这将导致应用服务器实际上拿不到HTTPS协议头,即无法判断是http请求还是https请求。
针对该技术问题,在本实施例中,可以在CDN、负载均衡系统和WAF上对回应用服务器的消息上增加了一个消息头(例如:x-request-url)。例如:
在将所述第二类请求消息通过负载均衡系统向所述业务系统发送之前,在所述第二类请求消息上增加消息头,所述消息头包括:用于表示原始协议头部、域名和去参URL的内容。例如:CDN将https请求转换为http请求,同时增加x-request-url字段作为消息头;x-request-url的值为:原始协议头部(比如:https://|http://)+域名+去参URL。
例如:
原始协议头部:http://|https://
域名:xxx.suning.com
若客户端发起的请求是:
https://my.suning.com/ajax/getCommonHorizontalMenu.do?_t=1764985318&callback=getCommonHorizontalMenuCallBack,其中,“去参URL”为业内技术人员之间常用的一种说法,可以理解为去除了字符“?”后面的参数字段比如:
t=1764985318&callback=getCommonHorizontalMenuCallBack)的URL请求
则,x-request-url:https://my.suning.com/ajax/getCommonHorizontalMenu.do
其中,所述业务系统根据所述消息头中的内容确定所需执行的业务动作。
具体的,可以将字段x-request-url作为所述消息头,所述字段x-request-url的值为:表示原始协议头部、域名和去参URL的字符。例如:由于业务系统进行处理时需要识别消息头,但是客户端与CDN之间采用https,业务系统依然采用http,因此在https转换为http后,业务系统无法获取原始的消息头。因此增加消息头“x-request-url”,来记录客户端发送的原始的报文头部(即https的报文),在负载均衡系统(比如Ctrix)上可以通过“x-request-url”得到原始的请求报文头。
进一步的,如图3所示的,还包括:当所述负载均衡系统检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头。
其中,将所述转换后的http请求传输至负载均衡系统后,负载均衡系统判断请求中有无x-request-url字段,如果有,则不做处理,请求直接通过;若没有x-request-url字段,则新增x-request-url字段。
进一步的,还包括:
当所述WAF检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头。
其中,将所述转换后的http请求传输至WAF后,WAF判断请求中有无x-request-url字段,如果有,则不做处理,请求直接通过;若没有x-request-url字段,则新增x-request-url字段。
现有通常的HTTPS方案中,客户端发送的消息传输至业务系统前,需要先经过负载均衡(Ctrix、F5等设备),再到waf(防火墙),再传输到业务系统。因此,在客户端-服务端的建立会话的过程中,采用HTTPS较HTTP要多做两次SSL(安全套接层,Secure SocketsLayer)握手,其中一次是用于证书的交换,另外一次用于数据的加密,以保证安全性。因此这就会带来额外两个RTT(往返时延,Round-Trip Time)时间的开销。
本发明实施例的设计思路在于,在保障消息传输安全性的情况下(比如主要的劫持问题发生在手机至CDN部分,属于前端的问题,则在前端采用安全性较高的HTTPS。),尽可能在全链路中减少HTTPS协议的覆盖程度,而替换为传输效率更高的http协议。具体的,为了尽可能早的建立连接,完成SSL握手,本实施例的设计中服务端仍使用HTTP访问,降低开销,即完成HTTPS转换。在CDN上完成https的转换,实现了在尽快完成HTTPS握手的同时,并降低对全站进行改造的工作量。
在本实施例中,还设计了一种基于本实施例中所述的消息头进行消息回跳的过程,其中包括:
在将所述第二类请求消息通过负载均衡系统向所述业务系统发送后,根据所述消息头对所述第一类请求消息执行回跳过程。例如:通过密码验证登录(Passport)完成后,执行回跳过程,其中:以Passport的登录回跳为例,登录回跳的targetUrl是拼接的,有serverName的情况下先取serverName,没有serverName取x-request-url,如果x-request-url也没有,就取当前请求的协议头。由于本实施例中所执行的HTTPS-HTTP的转换过程,serverName已经不是原始协议头了,这会导致HTTPS的请求回跳为HTTP,因此,本实施例中根据所述消息头x-request-url执行回跳过程。
本发明实施例还提供一种如图4所示的网络访问装置,该装置具体可以运行在如图1a、1b所示的CDN上。其中该装置可以具体包括:
第一发送模块,用于向所述客户端发送域名清单,所述域名清单中记录的内容包括:当前版本下各域名的协议开关的状态,所述域名清单用于所述客户端根据客户端的版本号和所述域名清单配置对应各域名的协议开关;
接收模块,用于接收客户端发送的请求消息;
转换模块,用于:若接收到的请求消息为第一类请求消息,则对所述第一类请求消息进行转换处理,并得到第二类请求消息,其中,所述第一类请求消息符合所述客户端与内容分发网络(CDN)之间的通信协议,所述第二类请求消息符合所述CDN与业务系统之间的通信协议,所述第一类请求消息是由所述客户端,在检测到所述第一类请求消息所指向的域名的协议开关开启时发送的;
第二发送模块,用于将所述第二类请求消息通过负载均衡系统向所述业务系统发送,其中,所述业务系统采用的是所述第一类请求消息所指向的域名,所述业务系统至少包括网页服务器和应用服务器,所述CDN将所述第二类请求消息向所述负载均衡系统发送后,由所述负载均衡系统透传至所述业务系统,所述CDN、所述负载均衡系统和所述业务系统之间采用HTTP协议建立通信。
其中,所述转换模块,具体用于所述CDN检测所述第一类请求消息的消息制式是否为HTTPS;若是则将所述第一类请求消息的消息制式转换为HTTP,得到转换后的消息作为所述第二类请求消息;并将当前切换当前消息传输端口至http的端口;当所述CDN检测到所述第一类请求消息的消息制式不为HTTPS时,向所述客户端发送跳转消息,所述跳转消息指向采用HTTP协议建立通信的站点。
进一步的,如图5所示,该装置还包括:预处理模块,用于在将所述第二类请求消息通过负载均衡系统向所述业务系统发送之前,在所述第二类请求消息上增加消息头,所述消息头包括:用于表示原始协议头部、域名和去参URL的内容;其中,所述业务系统根据所述消息头中的内容确定所需执行的业务动作;
更新管理模块,用于统计得到使用各域名的业务系统的风险数据,所述风险数据至少包括劫持率;并根据采集得到的风险数据,更新所述域名清单中各域名的协议开关的状态;之后向所述客户端发送更新包,所述更新包包括了所述客户端的最新版本的程序内容和更新后的域名清单。
转换本发明实施例提供的网络访问装置,实现了服务端仍使用HTTP访问,在CDN上完成https的转换,实现了在尽快完成HTTPS握手的同时,并降低对全站进行改造的工作量。从而实现了,在保障消息传输安全性的情况下(比如主要的劫持问题发生在手机至CDN部分,属于前端的问题,则在前端采用安全性较高的HTTPS)尽可能在全链路中减少HTTPS协议的覆盖程度,而替换为传输效率更高的http协议。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种网络访问方法,其特征在于,包括:
向客户端发送域名清单,所述域名清单中记录的内容包括:当前版本下各域名的协议开关的状态,所述域名清单用于所述客户端根据客户端的版本号和所述域名清单配置对应各域名的协议开关;
若接收到的请求消息为第一类请求消息,则对所述第一类请求消息进行转换处理,并得到第二类请求消息,其中,所述第一类请求消息符合所述客户端与内容分发网络(CDN)之间的通信协议,所述第二类请求消息符合所述CDN与业务系统之间的通信协议,所述第一类请求消息是由所述客户端,在检测到所述第一类请求消息所指向的域名的协议开关开启时发送的; 将所述第二类请求消息通过负载均衡系统向所述业务系统发送,其中,所述业务系统采用的是所述第一类请求消息所指向的域名,所述业务系统至少包括网页服务器和应用服务器,所述CDN将所述第二类请求消息向所述负载均衡系统发送后,由所述负载均衡系统透传至所述业务系统,所述CDN、所述负载均衡系统和所述业务系统之间采用HTTP协议建立通信;
将字段x-request-url作为消息头,所述字段x-request-url的值为:表示原始协议头部、域名和去参URL的字符;
还包括:当所述负载均衡系统检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头;还包括:当WAF检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头;
其中,将所述转换后的http请求传输至WAF后,WAF判断请求中有无x-request-url字段,如果有,则不做处理,请求直接通过;若没有x-request-url字段,则新增x-request-url字段;
所述对所述第一类请求消息进行转换处理,并得到第二类请求消息,包括:所述CDN检测所述第一类请求消息的消息制式是否为HTTPS;若是则将所述第一类请求消息的消息制式转换为HTTP,得到转换后的消息作为所述第二类请求消息,并将当前切换当前消息传输端口至http的端口;当所述CDN检测到所述第一类请求消息的消息制式不为HTTPS时,向所述客户端发送跳转消息,所述跳转消息指向采用HTTP协议建立通信的站点;
还包括:在将所述第二类请求消息通过负载均衡系统向所述业务系统发送后,根据所述消息头对所述第一类请求消息执行回跳过程。
2.根据权利要求1所述的方法,其特征在于,还包括:在所述第二类请求消息上增加消息头,所述消息头包括:用于表示原始协议头部、域名和去参URL的内容,其中,所述业务系统根据所述消息头中的内容确定所需执行的业务动作。
3.根据权利要求1所述的方法,其特征在于,还包括:
统计得到使用各域名的业务系统的风险数据,所述风险数据至少包括劫持率;
根据采集得到的风险数据,更新所述域名清单中各域名的协议开关的状态;
向所述客户端发送更新包,所述更新包包括了所述客户端的最新版本的程序内容和更新后的域名清单。
4.根据权利要求1中所述的方法,其特征在于,还包括:
当检测到切换事件发生时,所述CDN将所述第一类请求消息透传至网站应用级入侵防御系统(WAF),其中,所述切换事件在所述CDN停止对所述第一类请求消息进行转换处理时触发,所述WAF部署在所述负载均衡系统和所述业务系统之间;
通过所述WAF对所述第一类请求消息进行转换处理,并得到第二类请求消息,再由所述WAF将所述第二类请求消息向所述业务系统发送。
5.一种网络访问装置,其特征在于,包括:
第一发送模块,用于向客户端发送域名清单,所述域名清单中记录的内容包括:当前版本下各域名的协议开关的状态,所述域名清单用于所述客户端根据客户端的版本号和所述域名清单配置对应各域名的协议开关;
接收模块,用于接收客户端发送的请求消息;
转换模块,用于:若接收到的请求消息为第一类请求消息,则对所述第一类请求消息进行转换处理,并得到第二类请求消息,其中,所述第一类请求消息符合所述客户端与内容分发网络(CDN)之间的通信协议,所述第二类请求消息符合所述CDN与业务系统之间的通信协议,所述第一类请求消息是由所述客户端,在检测到所述第一类请求消息所指向的域名的协议开关开启时发送的;
第二发送模块,用于将所述第二类请求消息通过负载均衡系统向所述业务系统发送,其中,所述业务系统采用的是所述第一类请求消息所指向的域名,所述业务系统至少包括网页服务器和应用服务器,所述CDN将所述第二类请求消息向所述负载均衡系统发送后,由所述负载均衡系统透传至所述业务系统,所述CDN、所述负载均衡系统和所述业务系统之间采用HTTP协议建立通信;
将字段x-request-url作为消息头,所述字段x-request-url的值为:表示原始协议头部、域名和去参URL的字符;
还包括:当所述负载均衡系统检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头;还包括:当WAF检测到,所接受到的所述第二类请求消息中不存在所述消息头时,在所述第二类请求消息上增加所述消息头;
其中,将所述转换后的http请求传输至WAF后,WAF判断请求中有无x-request-url字段,如果有,则不做处理,请求直接通过;若没有x-request-url字段,则新增x-request-url字段;
所述对所述第一类请求消息进行转换处理,并得到第二类请求消息,包括:所述CDN检测所述第一类请求消息的消息制式是否为HTTPS;若是则将所述第一类请求消息的消息制式转换为HTTP,得到转换后的消息作为所述第二类请求消息,并将当前切换当前消息传输端口至http的端口;当所述CDN检测到所述第一类请求消息的消息制式不为HTTPS时,向所述客户端发送跳转消息,所述跳转消息指向采用HTTP协议建立通信的站点;
还包括:在将所述第二类请求消息通过负载均衡系统向所述业务系统发送后,根据所述消息头对所述第一类请求消息执行回跳过程。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
预处理模块,用于在将所述第二类请求消息通过负载均衡系统向所述业务系统发送之前,在所述第二类请求消息上增加消息头,所述消息头包括:用于表示原始协议头部、域名和去参URL的内容;其中,所述业务系统根据所述消息头中的内容确定所需执行的业务动作;
更新管理模块,用于统计得到使用各域名的业务系统的风险数据,所述风险数据至少包括劫持率;并根据采集得到的风险数据,更新所述域名清单中各域名的协议开关的状态;之后向所述客户端发送更新包,所述更新包包括了所述客户端的最新版本的程序内容和更新后的域名清单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710261353.0A CN108737471B (zh) | 2017-04-20 | 2017-04-20 | 一种网络访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710261353.0A CN108737471B (zh) | 2017-04-20 | 2017-04-20 | 一种网络访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737471A CN108737471A (zh) | 2018-11-02 |
CN108737471B true CN108737471B (zh) | 2021-05-28 |
Family
ID=63933549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710261353.0A Active CN108737471B (zh) | 2017-04-20 | 2017-04-20 | 一种网络访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737471B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210231B (zh) * | 2019-06-04 | 2023-07-14 | 深信服科技股份有限公司 | 一种安全防护方法、系统、设备及计算机可读存储介质 |
CN111092888B (zh) * | 2019-12-17 | 2022-09-30 | 深信服科技股份有限公司 | 数据同时互通方法、装置、设备及存储介质 |
CN111865990B (zh) * | 2020-07-23 | 2023-02-21 | 上海中通吉网络技术有限公司 | 内网恶意反向连接行为的管控方法、装置、设备和系统 |
CN112187801A (zh) * | 2020-09-29 | 2021-01-05 | 杭州迪普科技股份有限公司 | 网站访问方法、装置及系统 |
CN112738217B (zh) * | 2020-12-28 | 2022-05-27 | 中国建设银行股份有限公司 | 安全交互系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005060202A1 (en) * | 2003-12-10 | 2005-06-30 | International Business Machines Corporation | Method and system for analysing and filtering https traffic in corporate networks |
CN103188254A (zh) * | 2011-12-31 | 2013-07-03 | 北京市国路安信息技术有限公司 | 一种兼顾内外网信息通畅性和安全性的网络安全保护方法 |
CN103457843A (zh) * | 2012-05-30 | 2013-12-18 | 阿里巴巴集团控股有限公司 | 通信方法和系统、中继网关装置、应用服务器和客户端 |
CN204168327U (zh) * | 2014-06-30 | 2015-02-18 | 优视科技有限公司 | 网络数据获取系统 |
CN106210057A (zh) * | 2016-07-13 | 2016-12-07 | 成都知道创宇信息技术有限公司 | 一种基于cdn的云安全防护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078757B2 (en) * | 2009-06-30 | 2011-12-13 | The Go Daddy Group, Inc. | Rewritten URL static and dynamic content delivery |
-
2017
- 2017-04-20 CN CN201710261353.0A patent/CN108737471B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005060202A1 (en) * | 2003-12-10 | 2005-06-30 | International Business Machines Corporation | Method and system for analysing and filtering https traffic in corporate networks |
CN103188254A (zh) * | 2011-12-31 | 2013-07-03 | 北京市国路安信息技术有限公司 | 一种兼顾内外网信息通畅性和安全性的网络安全保护方法 |
CN103457843A (zh) * | 2012-05-30 | 2013-12-18 | 阿里巴巴集团控股有限公司 | 通信方法和系统、中继网关装置、应用服务器和客户端 |
CN204168327U (zh) * | 2014-06-30 | 2015-02-18 | 优视科技有限公司 | 网络数据获取系统 |
CN106210057A (zh) * | 2016-07-13 | 2016-12-07 | 成都知道创宇信息技术有限公司 | 一种基于cdn的云安全防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108737471A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737471B (zh) | 一种网络访问方法及装置 | |
US10110429B2 (en) | Enabling planned upgrade/downgrade of network devices without impacting network sessions | |
US11159630B2 (en) | Third party validation of web content | |
US10230770B2 (en) | Network proxy layer for policy-based application proxies | |
EP2901308B1 (en) | Load distribution in data networks | |
CN102292961B (zh) | 用于对由域名服务(dns)获得的ip地址进行转换的系统和方法 | |
US9264435B2 (en) | Apparatus and methods for access solutions to wireless and wired networks | |
US10148727B2 (en) | Methods and systems for an end-to-end solution to deliver content in a network | |
US9871850B1 (en) | Enhanced browsing using CDN routing capabilities | |
CN102904959B (zh) | 网络加速方法和网关 | |
CN109218368B (zh) | 实现Http反向代理的方法、装置、电子设备和可读介质 | |
CN108737343B (zh) | 一种安全访问网络的实现方法及装置 | |
US8930554B2 (en) | Transferring session data between network applications accessible via different DNS domains | |
CN113037878B (zh) | 一种cdn数据访问方法、系统及电子设备 | |
WO2013060203A1 (en) | Non-intrusive method and apparatus for automatically dispatching security rules in cloud environment | |
US10091111B2 (en) | Methods and systems for an end-to-end solution to deliver content in a network | |
US20170171289A1 (en) | Gateway that enables a browser-based application to communicate with a server-side application using a non-browser-compatable protocol | |
CN113010332A (zh) | 一种远程服务调用方法、装置、设备及存储介质 | |
CN111147583A (zh) | 一种http重定向重写方法及装置 | |
CN106330994A (zh) | 一种用户消息发布方法及系统 | |
CN111190664A (zh) | 一种生成页面的方法和系统 | |
US8499023B1 (en) | Servlet-based grid computing environment using grid engines and switches to manage resources | |
CN115516842A (zh) | 编排代理服务 | |
US20200402115A1 (en) | Serving an Online Advertisement Asynchronously | |
Vukotic et al. | Integrating Apache Web Server |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210430 Address after: 518001 unit 3510-130, Luohu business center, 2028 Shennan East Road, Chengdong community, Dongmen street, Luohu District, Shenzhen City, Guangdong Province Applicant after: Shenzhen yunwangwandian Technology Co.,Ltd. Address before: 210042 Suning Headquarters, No. 1 Suning Avenue, Xuanwu District, Nanjing City, Jiangsu Province Applicant before: SUNING COMMERCE GROUP Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |