掌桥专利:专业的专利平台
掌桥专利
首页

加载证书的方法、网页服务器、中继服务器、介质和系统

文献发布时间:2023-06-19 09:33:52


加载证书的方法、网页服务器、中继服务器、介质和系统

技术领域

本公开涉及网络安全技术领域,尤其涉及一种加载证书的方法、网页服务器、中继服务器、介质和系统。

背景技术

内容分发网络(Content Delivery Network,CDN)通过在网络各处放置缓存服务器,将源站的内容发布到最接近用户的网络“边缘”,使用户可以就近获取所需的内容。超文本传输安全协议(Hyper Text Transfer Protocol over Secure Socket Layer,HTTPS)是由超文本传输协议(Hyper TextTransfer Protocol,HTTP)加上安全套接层(SecureSockets Layer,SSL)/传输层安全协议(Transport Layer Security,TLS)所构建的可进行加密传输以及身份认证的网络协议,SSL/TLS通过证书来验证服务器的身份。HTTPS作为一种加密传输协议广泛应用于CDN网络中。

当用户访问采用HTTPS进行服务器的认证和数据的加密的网站时,CDN节点需要使用源站的证书与用户完成握手。目前,CDN网络通常采用静态配置证书的方式,客户把源站的域名对应的证书提供给CDN,由CDN厂商的运维人员将证书部署到所有的CDN节点。

然而,随着HTTPS的广泛应用,CDN节点存储的证书文件越来越多,降低了CDN节点的处理性能;而且,CDN节点存储的全量的证书文件容易造成证书泄露;同时,海量证书的时效性管理耗费了CDN厂商巨大的人力成本。

发明内容

为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种加载证书的方法、网页服务器、中继服务器、介质和系统。

本公开第一方面提供一种加载证书的方法,包括:

网页服务器接收用户发送的第一证书加载请求,所述第一证书加载请求中包含域名,所述第一证书加载请求用于请求加载所述域名对应的证书;

若所述网页服务器确定所述网页服务器中未包含所述域名对应的证书,则所述网页服务器向中继服务器发送所述第一证书加载请求;

所述网页服务器接收所述中继服务器发送的所述域名对应的证书;

所述网页服务器存储所述域名对应的证书,并向所述用户发送所述域名对应的证书;

其中,所述中继服务器中存储的所述域名对应的证书来自于证书中心。

可选的,还包括:

所述网页服务器向所述中继服务器发送第一证书更新请求,所述第一证书更新请求中包含所述网页服务器存储的证书对应的域名;

所述网页服务器接收所述中继服务器发送的已经更新的证书,更新所述网页服务器存储的证书。

可选的,所述网页服务器接收用户发送的第一证书加载请求之后,还包括:

若所述网页服务器确定所述网页服务器中包含所述域名对应的证书,则所述网页服务器确定所述第一证书加载请求与第二证书加载请求的时间差,其中,所述第二证书加载请求用于上一次请求加载所述域名对应的证书;

若所述时间差大于第一预设阈值,则向所述中继服务器发送所述第一证书加载请求;

所述网页服务器接收所述中继服务器发送的所述域名对应的证书;

所述网页服务器更新所述域名对应的证书;

所述网页服务器向所述用户发送更新后的所述域名对应的证书。

可选的,还包括:

若所述时间差小于等于第一预设阈值,所述网页服务器向所述用户发送所述域名对应的证书。

可选的,所述网页服务器向所述中继服务器发送所述第一证书加载请求之前,还包括:

所述网页服务器确定所述时间差大于第二预设阈值,其中,所述第一预设阈值大于所述第二预设阈值,所述第二预设阈值大于0。

可选的,所述网页服务器存储有域名对应的配置文件,其中,配置文件中包含回调函数;

对于静态证书的域名对应的配置文件的回调函数为空,所述静态证书存储于所述网页服务器中,以从所述网页服务器的证书存储位置获取所述域名对应的静态证书;

对于动态加载的证书的域名对应的配置文件的回调函数用于执行上述任一项所述的步骤。

本公开第二方面提供一种加载证书的方法,包括:

中继服务器接收网页服务器发送的第一证书加载请求,所述第一证书加载请求中包含域名,所述第一证书加载请求用于请求加载所述域名对应的证书;

所述中继服务器向所述网页服务器发送第一证书加载响应,所述第一证书加载响应中包含所述域名对应的证书;

其中,所述中继服务器中的存储的所述域名对应的证书来自于证书中心。

可选的,所述中继服务器向所述网页服务器发送第一证书加载响应之前,还包括:

所述中继服务器确定所述中继服务器中未包含所述域名对应的证书;

所述中继服务器向所述证书中心发送所述第一证书加载请求;

所述中继服务器接收所述证书中心发送的所述域名对应的证书;

所述中继服务器存储所述域名对应的证书。

可选的,还包括:

所述中继服务器周期性地向所述证书中心发送第二证书更新请求,所述第二证书更新请求中包含域名;

所述中继服务器接收所述证书中心发送的所述域名对应的证书。

可选的,所述第二证书更新请求中还包括:所述域名对应的第一校验码;所述第一校验码用于所述证书中心根据所述第一校验码确定所述域名对应的证书是否已经更新;

所述中继服务器接收所述证书中心发送的所述域名对应的证书,包括:

所述中继服务器接收所述证书中心发送的所述域名中证书已经更新的域名对应的证书。

本公开第三方面提供一种网页服务器,包括:

网页接收模块,用于接收用户发送的第一证书加载请求,所述第一证书加载请求中包含域名,所述第一证书加载请求用于请求加载所述域名对应的证书;

网页处理模块,用于确定所述网页服务器中未包含所述域名对应的证书,则网页发送模块,用于向所述中继服务器发送所述第一证书加载请求;

所述网页接收模块,还用于接收所述中继服务器发送的所述域名对应的证书;

所述网页存储模块,用于存储所述域名对应的证书,所述网页发送模块还用于向所述用户发送所述域名对应的证书;

其中,所述中继服务器中存储的所述域名对应的证书来自于证书中心。

可选的,所述网页发送模块,还用于向所述中继服务器发送第一证书更新请求,所述第一证书更新请求中包含所述网页服务器存储的证书对应的域名;

所述网页接收模块,还用于接收所述中继服务器发送的已经更新的证书,更新所述网页服务器存储的证书。

可选的,若所述网页处理模块还用于确定所述网页服务器中包含所述域名对应的证书,则确定所述第一证书加载请求与第二证书加载请求的时间差,其中,所述第二证书加载请求用于上一次请求加载所述域名对应的证书;

若所述时间差大于第一预设阈值,所述网页发送模块,还用于向所述中继服务器发送所述第一证书加载请求;

所述网页接收模块,还用于接收所述中继服务器发送的所述域名对应的证书;

所述网页存储模块还用于更新所述域名对应的证书;

所述网页发送模块,还用于向所述用户发送更新后的所述域名对应的证书。

可选的,若所述时间差小于等于第一预设阈值,所述网页发送模块还用于向所述用户发送所述域名对应的证书。

可选的,所述网页处理模块,还用于确定所述时间差大于第二预设阈值,其中,所述第一预设阈值大于所述第二预设阈值,所述第二预设阈值大于0。

可选的,所述网页服务器存储有域名对应的配置文件,其中,配置文件中包含回调函数;

对于静态证书的域名对应的配置文件的回调函数为空,所述静态证书存储于所述网页服务器中,以从所述网页服务器的证书存储位置获取所述域名对应的静态证书;

对于动态加载的证书的域名对应的配置文件的回调函数用于执行上述第一方面所述的步骤。

本公开第四方面提供一种中继服务器,包括:

中继接收模块,用于接收网页服务器发送的第一证书加载请求,所述第一证书加载请求中包含域名,所述第一证书加载请求用于请求加载所述域名对应的证书;

所述中继发送模块,用于向所述网页服务器发送第一证书加载响应,所述第一证书加载响应中包含所述域名对应的证书;

其中,所述中继服务器中的存储的所述域名对应的证书来自于证书中心。

可选的,还包括:

所述中继处理模块,用于确定所述中继服务器中未包含所述域名对应的证书;

所述中继发送模块,还用于向所述证书中心发送所述第一证书加载请求;

所述中继接收模块,还用于接收所述证书中心发送的所述域名对应的证书;

所述中继存储模块,还用于存储所述域名对应的证书。

可选的,

所述中继发送模块,还用于周期性地向所述证书中心发送第二证书更新请求,所述第二证书更新请求中包含域名;

所述中继接收模块,还用于接收所述证书中心发送的所述域名对应的证书。

可选的,所述第二证书更新请求中还包括:所述域名对应的第一校验码;所述第一校验码用于所述证书中心根据所述第一校验码确定所述域名对应的证书是否已经更新;

所述中继服务器接收模块具体用于接收所述证书中心发送的所述域名中证书已经更新的域名对应的证书。

本公开第五方面提供一种网页服务器,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法的步骤。

本公开第六方面提供一种中继服务器,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第二方面任一项所述的方法的步骤。

本公开第七方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法的步骤。

本公开第八方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面任一项所述的方法的步骤。

本公开第九方面提供一种加载证书的系统,包括:

证书中心、如第三方面所述的中继服务器和如第四方面所述的网页服务器。

本公开实施例提供的技术方案与现有技术相比具有如下优点:

网页服务器接收用户发送的第一证书加载请求后,确定所述网页服务器中未包含所述域名对应的证书;再向中继服务器发送第一证书加载请求,以请求用户请求的域名对应的证书,中继服务器向网页服务器返回域名对应的证书,网页服务器再向用户发送域名对应的证书,从而,实现了证书的按需加载,缓解了网页服务器的存储压力,提升了网页服务器的处理性能,提高了证书的安全性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例提供的一种加载证书的网络架构图;

图2为本公开实施例提供的一种加载证书的方法的流程示意图;

图3为本公开实施例提供的另一种加载证书的方法的流程示意图;

图4为本公开实施例提供的再一种加载证书的方法的流程示意图;

图5为本公开实施例提供的又一种加载证书的方法的流程示意图;

图6为本公开实施例提供的又一种加载证书的方法的流程示意图;

图7为本公开实施例提供的又一种加载证书的方法的流程示意图;

图8为本公开实施例提供的又一种加载证书的方法的流程示意图;

图9为本公开实施例提供的又一种加载证书的方法的流程示意图;

图10为本公开实施例提供的一种网页服务器的结构示意图;

图11为本公开实施例提供的一种中继服务器的结构示意图;

图12为本公开实施例提供的一种加载证书的系统的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

图1为本公开实施例提供的一种加载证书的网络架构图,如图1所示,

本实施例提供的网络架构包括:至少一个网页服务器、至少一个中继服务器、证书中心和控制台。网页服务器和中继服务器连接,中继服务器和证书中心连接,证书中心和控制台连接。一个网页服务器可以连接多个中继服务器,多个中继服务器之间可以相互备份,如果某个中继服务器发送故障,网页服务器可以发送证书加载请求到其他的中继服务器。

其中,网页服务器可以是CDN网络中的边缘节点,中继服务器可以是CDN网络中的中心节点。中心节点负责负载均衡;边缘节点直接面向用户,负责给用户提供内容服务,部署在CDN网络的边缘位置。

基于图1所示的网络架构图,对本公开实施例提供的一种加载证书的方法进行详细说明。

图2为本公开实施例提供的一种加载证书的方法的流程示意图,如图2所示,

S201、网页服务器接收用户发送的第一证书加载请求。

其中,第一证书加载请求中包含域名,第一证书加载请求用于请求加载域名对应的证书。

用户通过浏览器访问某个网站时,向网页服务器发起HTTPS GET请求。HTTPS GET请求的过程中,根据SSL/TLS协议,首先要进行“握手”。在SSL/TLS握手过程中,第一证书加载请求的具体格式可以为一个客户端问候(Client Hello)消息。

S202、网页服务器向用户发送域名对应的证书。

其中,网页服务器中存储的域名对应的证书来自于中继服务器,中继服务器中的存储的域名对应的证书来自于证书中心。

网页服务器获取第一证书加载请求中的域名,检查自己内存中是否存在该域名对应的证书。如果存在该域名对应的证书,网页服务器则向用户发送该域名对应的证书。在SSL/TLS协议握手过程中,网页服务器向用户发送域名对应的证书的具体格式可以为一个服务器向客户端发送证书(Certificate)消息。

本实施例通过网页服务器接收用户发送的第一证书加载请求,第一证书加载请求中包含域名,第一证书加载请求用于请求加载域名对应的证书,网页服务器向用户发送域名对应的证书,使得网页服务器不需要加载全量的证书,只需要在接收第一证书加载请求后再去加载第一证书加载请求中的域名对应的证书,从而,缓解了网页服务器的存储压力,提升了网页服务器的处理性能,提高了证书的安全性。

图3为本公开实施例提供的另一种加载证书的方法的流程示意图,图3是在图2所示实施例的基础上,S202之前还可以包括如下步骤,如图3所示,

S301、网页服务器确定网页服务器中未包含域名对应的证书。

网页服务器获取第一证书加载请求中的域名,检查自己的内存中是否存在该域名对应的证书。如果不存在该域名对应的证书,网页服务器确定本网页服务器中未包含该域名对应的证书。

S302、网页服务器向中继服务器发送第一证书加载请求。

一个网页服务器可以连接多个中继服务器。网页服务器根据负载均衡的策略去选择中继服务器,向中继服务器发送第一证书加载请求。

S303、中继服务器向网页服务器发送域名对应的证书。

中继服务器根据第一证书加载请求中的域名检查本地磁盘中是否存在该域名对应的证书。如果存在该域名对应的证书,中继服务器向网页服务器发送该域名对应的证书。

S304、网页服务器存储域名对应的证书。

网页服务器将域名对应的证书存储在自己的内存中。

本实施例通过网页服务器确定网页服务器中未包含域名对应的证书,网页服务器向中继服务器发送第一证书加载请求,中继服务器向网页服务器发送域名对应的证书,网页服务器存储域名对应的证书,由于中继服务器中存储的证书少于证书中心中存储的证书,中继服务器能够快速地获取域名对应的证书,从而,缩短了证书加载的时间,提升了网页服务器的处理性能,提高了用户体验。

图4为本公开实施例提供的再一种加载证书的方法的流程示意图,图4是在图3所示实施例的基础上,S303之前还可以包括如下步骤,如图4所示,

S401、中继服务器确定中继服务器中未包含域名对应的证书。

中继服务器获取第一证书加载请求中的域名,检查本地存储设备中是否存在该域名对应的证书。如果不存在该域名对应的证书,则中继服务器确定本中继服务器中未包含该域名对应的证书。

S402、中继服务器向证书中心发送第一证书加载请求。

证书中心拥有全量的证书,当中继服务器中未包含第一证书加载请求中的域名对应的证书时,中继服务器向证书中心发送第一证书加载请求。

S403、证书中心向中继服务器发送域名对应的证书。

证书中心根据第一证书加载请求中的域名,获取该域名对应的证书,证书中心向中继服务器发送该域名对应的证书。

S404、中继服务器存储域名对应的证书。

可选的,中继服务器可以以域名和证书的对应关系存储证明,也可以将域名对应的证书的文件名修改为域名,保存在本地存储设备(比如,本地磁盘)中。

本实施例中,S403和S404的执行顺序不做限制,可以同时执行,也可以先执行S403再执行S404,也可以先执行S404再执行S403。

本实施例通过网页服务器接收用户发送的第一证书加载请求,网页服务器确定网页服务器中未包含域名对应的证书,网页服务器向中继服务器发送第一证书加载请求,中继服务器确定中继服务器中未包含域名对应的证书,中继服务器向证书中心发送第一证书加载请求,证书中心向中继服务器发送域名对应的证书,中继服务器存储域名对应的证书,中继服务器向网页服务器发送域名对应的证书,网页服务器存储域名对应的证书,网页服务器向用户发送域名对应的证书,从而,实现了证书的按需加载,缓解了网页服务器的存储压力,提升了网页服务器的处理性能,提高了证书的安全性。

图5为本公开实施例提供的又一种加载证书的方法的流程示意图,图5是在图4所示实施例的基础上,网页服务器更新内存中存储的证书的一种可能的实现方式的描述,如图5所示,

S501、网页服务器向中继服务器发送第一证书更新请求。

其中,第一证书更新请求中包含域名。

一种可能的实现方式是:网页服务器周期性地,比如,每隔半个小时,向中继服务器发送第一证书更新请求。第一证书更新请求中还可以包含域名对应的校验码。

另一种可能的实现方式是:网页服务器通过事件触发的方式向中继服务器发送第一证书更新请求。

S502、中继服务器向网页服务器发送已经更新的证书。

可选的,第一证书更新请求中还包含:域名对应的校验码。中继服务器根据第一证书更新请求中的域名找到对应的证书,根据域名对应的校验码确定域名对应的证书已经更新,并且向网页服务器发送已经更新的证书。

本实施例通过网页服务器向中继服务器发送第一证书更新请求,中继服务器向网页服务器发送已经更新的证书,从而,及时更新网页服务器中存储的证书。

图6为本公开实施例提供的又一种加载证书的方法的流程示意图,图6是在图4所示实施例的基础上,中继服务器更新本地存储的证书的一种可能的实现方式的描述,如图6所示,

S601、中继服务器周期性地向证书中心发送第二证书更新请求。

其中,第二证书更新请求中包含域名。

中继服务器获取本地存储的证书对应的域名,周期性地,比如,每隔20分钟,向证书中心发送第二证书更新请求。第二证书更新请求的具体格式可以为HTTPS POST请求,HTTPS POST的请求数据中可以包含中继服务器中存储的所有的证书对应的域名,也可以包含部分证书对应的域名。

S602、证书中心向中继服务器发送域名对应的证书。

证书中心根据HTTPS POST的请求数据中的域名获取该域名对应的证书,向中继服务器发送该域名对应的证书。如果HTTPS POST的请求数据中包含多个域名,例如:域名1、域名2、…,域名n;证书中心获取域名1对应的证书,把域名1对应的证书填充到HTTPS响应消息的消息实体中;证书中心获取域名2对应的证书,把域名2对应的证书填充到HTTPS响应消息的消息实体中;…;证书中心获取域名n对应的证书,把域名n对应的证书填充到HTTPS响应消息的消息实体中;把填充完证书的HTTPS响应消息发送给中继服务器。

本实施例通过中继服务器周期性地向证书中心发送第二证书更新请求,证书中心向中继服务器发送域名对应的证书,周期性地更新了中继服务器中存储的证书,从而,保证了中继服务器中存储的证书内容是最新可用的。

可选的,证书中心可以向中继服务器返回第二证书更新请求中携带的所有域名对应的证书。

也可以只向中继服务器返回第二证书更新请求中携带的证书已经更新的域名对应的证书,如下所述:

中继服务器更新本地存储的证书的另一种可能的实现方式是:

中继服务器周期性地向证书中心发送第二证书更新请求。其中,第二证书更新请求中包含域名以及域名对应的第一校验码,第一校验码可以是域名对应的证书的时间戳、版本号、或者是根据证书内容生成的校验字符串等。证书中心根据第二证书更新请求中的域名找到该域名对应的证书,并根据第一校验码确定该域名对应的证书是否已经更新,如果已经更新则向中继服务器发送已经更新的证书。如果第二证书更新请求中包含多个域名以及多个域名分别对应的第一校验码,证书中心根据第一校验码确定多个域名对应的证书中已经更新的域名,并向中继服务器发送所述域名中证书已经更新的域名对应的证书。其中,第二证书更新请求以HTTPS POST请求为例,HTTPS POST请求数据中的内容格式可以是:域名1、域名1对应的第一校验码、域名2、域名2对应的第一校验码、…、域名n、域名n对应的第一校验码。证书中心根据域名1找到域名1对应的证书,根据域名1对应的第一校验码判断域名1对应的证书是否已更新,如果域名1对应的证书已更新,则把域名1对应的证书填充到HTTPS响应消息的消息实体中;证书中心根据域名2找到域名2对应的证书,根据域名2对应的第一校验码判断域名2对应的证书是否已更新,如果域名2对应的证书没有更新,则不处理域名2对应的证书;…。这样,HTTP响应消息中只包含已经更新的证书。证书中心把HTTPS响应消息发送给中继服务器。

中继服务器更新本地存储的证书的再一种可能的实现方式是:

中继服务器周期性地向证书中心发送第二证书更新请求。其中,第二证书更新请求中包含域名以及域名对应的第一校验码,第一校验码可以是根据域名对应的证书内容使用消息摘要算法(Message-Digest Algorithm 5,MD5)生成的。证书中心根据第二证书更新请求中的域名找到该域名对应的证书,根据该域名对应的证书,生成第二校验码。其中,第二校验码是使用证书中心中该域名对应的证书的内容使用MD5算法生成的。若第二校验码与第一校验码不同,则确定证书中心中该域名对应的证书已经更新,证书中心向中继服务器发送已经更新的证书;若第二校验码与第一校验码相同,则证书中心不需要向中继服务器发送该域名对应的证书。如果第二证书更新请求中包含多个域名以及多个域名分别对应的第一校验码,证书中心根据第一校验码确定多个域名对应的证书中已经更新的域名,并向中继服务器发送所述域名中证书已经更新的域名对应的证书。

图7为本公开实施例提供的又一种加载证书的方法的流程示意图,图7是在上述各实施例的基础上,网页服务器确定所述网页服务器中包含所述域名对应的证书,网页服务器更新内存中存储的证书的另一种可能的实现方式的描述,如图7所示,

S701、网页服务器确定第一证书加载请求与第二证书加载请求的时间差。

其中,第一证书加载请求中包含域名,第二证书加载请求用于上一次请求加载该域名对应的证书。

一种可能的实现方式是:若第一证书加载请求与第二证书加载请求的时间差大于第一预设阈值,则执行S702。

另一种可能的实现方式是:若第一证书加载请求与第二证书加载请求的时间差大于等于第一预设阈值,则执行S702。

S702、网页服务器向中继服务器发送第一证书加载请求。

S703、中继服务器向网页服务器发送域名对应的证书。

S704、网页服务器更新域名对应的证书。

本实施例通过网页服务器接收用户发送的第一证书加载请求,如果第一证书加载请求与第二证书加载请求的时间差大于第一预设阈值,则网页服务器向中继服务器发送第一证书加载请求,中继服务器向网页服务器发送域名对应的证书,网页服务器更新域名对应的证书后,才向用户发送域名对应的证书,从而,使得用户和网页服务器都获取到了域名对应的最新的证书,实现了证书的按需加载,缓解了网页服务器的存储压力,提高了证书的安全性。

图8为本公开实施例提供的又一种加载证书的方法的流程示意图,图8是在上述各实施例的基础上,网页服务器确定所述网页服务器中包含所述域名对应的证书,网页服务器更新内存中存储的证书的再一种可能的实现方式的描述,如图8所示,

S801、网页服务器确定第一证书加载请求与第二证书加载请求的时间差。

其中,第二加载证书请求中包含域名,第二证书加载请求用于上一次请求加载域名对应的证书。

一种可能的实现方式是:若第一证书加载请求与第二证书加载请求的时间差小于等于第一预设阈值,则执行S202。

另一种可能的实现方式是:若第一证书加载请求与第二证书加载请求的时间差小于第一预设阈值,则执行S202。

S202、网页服务器向用户发送域名对应的证书。

可选的,网页服务器可以周期性的向中继服务器发送更新请求,以更新网页服务器中存储的域名对应的证书;或者,中继服务器也可以周期性的主动更新网页服务器中存储的域名对应的证书;或者,网页服务器向用户发送域名对应的证书之后,通过执行S802-S804,以更新网页服务器中存储的该域名对应的证书。

S802、网页服务器向中继服务器发送第一证书加载请求。

S803、中继服务器向网页服务器发送域名对应的证书。

S804、网页服务器更新域名对应的证书。

本实施例通过网页服务器接收用户发送的第一证书加载请求,如果第一证书加载请求与第二证书加载请求的时间差小于第一预设阈值,则网页服务器向用户发送域名对应的证书,从而,提高对用户发送的请求的响应效率。网页服务器向用户发送域名对应的证书之后,网页服务器向中继服务器发送第一证书加载请求,中继服务器向网页服务器发送域名对应的证书,网页服务器更新域名对应的证书,这样,在网页服务器较为频繁地接收同一域名的证书加载请求时,优先使用网页服务器中存储的证书返回给用户,从而,提高了网页服务器的处理性能。进一步地通过向中继服务器发送第一证书加载请求,根据中继服务器返回的域名对应的证书更新本地存储的域名对应的证书,可以使得在后续接收到用户发送的第一证书加载请求时,向用户返回更新后的证书。

可选的,S802之前还包括步骤:确定第一证书加载请求与第二证书加载请求的时间差大于第二预设阈值,其中,第一预设阈值大于第二预设阈值,第二预设阈值大于0。即相当于确定第一证书加载请求与第二证书加载请求的请求时间差大于第二预设阈值,并小于或者小于等于第一预设阈值时,执行S802-S804,比如,第一预设阈值是20分钟,第二预设阈值是10分钟。一般情况下,针对某个域名,当两次请求时间差越小,该域名对应的证书更新的概率越小,因此,通过设置第二预设阈值,可以减少网页服务器向中继服务器发送第一证书加载请求的频率,从而,节约网络资源。

可选的,域名对应的证书已加密,包括:在公网上传输的证书和存储在本地磁盘上的证书都是加密过的数据,比如,证书中心与中继服务器之间传输的证书、中继服务器存储的证书、证书中心存储的证书。

图9为本公开实施例提供的又一种加载证书的方法的流程示意图,如图9所示,

S901、证书中心接收用户通过控制台上传的域名对应的证书。

当某个域名需要提供基于HTTPS的访问服务时,用户申请域名对应的证书后,在控制台自助上传域名对应的证书,控制台发送域名对应的证书到证书中心。

S902、证书中心对域名对应的证书进行加密处理。

证书中心接收域名对应的证书后,对证书进行加密处理后保存在本地的存储设备中。

本实施例通过证书中心接收用户通过控制台上传的域名对应的证书,证书中心对域名对应的证书进行加密处理,避免了证书泄露,从而,减少了CDN内部的人力消耗,降低了证书的出错率,提高了证书的安全性。

可选的,控制台还有证书的到期提醒机制。

上述各实施例应用于适合动态加载的证书,针对一些不适合动态加载的证书,称为静态证书,本公开还提供了兼容的方案,将静态证书直接存储在网页服务器,在网页服务器设置域名对应的配置文件,域名对应的配置文件包括回调函数;如果域名对应的证书可以动态加载,则该域名的配置文件中,回调函数用于执行上述各方法实施例的技术方案。如果域名对应的证书为静态证书,则将该域名对应的证书存储于网页服务器,该域名对应的配置文件中,回调函数设置为空。当网页服务器接收到用户发送的证书加载请求之后,根据加载请求中的域名查找域名对应的配置文件,对于静态证书的域名,其配置文件中的回调函数为空,直接在网页服务器的证书存储位置获取该域名对应的静态证书,无需执行回调函数。对于适合动态加载的证书,执行配置文件中回调函数,以执行上述各方法实施例的加载证书的技术方案,从而,可以提高静态证书的加载效率。可选的,对于静态证书的域名,如果未在网页服务器的证书存储位置查找到该域名对应的证书,则返回网页服务器上配置的默认证书,该默认证书可以在网页服务器启动时加载到网页服务器中。

图10为本公开实施例提供的一种网页服务器的结构示意图,本实施例的网页服务器包括网页接收模块1001、网页处理模块1002、网页发送模块1003和网页存储模块1004;其中,

网页接收模块1001,用于接收用户发送的第一证书加载请求,所述第一证书加载请求中包含域名,所述第一证书加载请求用于请求加载所述域名对应的证书;

网页处理模块1002,用于确定所述网页服务器中未包含所述域名对应的证书,则网页发送模块1003,用于向所述中继服务器发送所述第一证书加载请求;

所述网页接收模块1001,还用于接收所述中继服务器发送的所述域名对应的证书;

所述网页存储模块1004,用于存储所述域名对应的证书,所述网页发送模块1003还用于向所述用户发送所述域名对应的证书;

其中,所述中继服务器中存储的所述域名对应的证书来自于证书中心。

可选的,所述网页发送模块1003,还用于向所述中继服务器发送第一证书更新请求,所述第一证书更新请求中包含所述网页服务器存储的证书对应的域名;

所述网页接收模块1001,还用于接收所述中继服务器发送的已经更新的证书,更新所述网页服务器存储的证书。

可选的,若所述网页处理模块1002还用于确定所述网页服务器中包含所述域名对应的证书,则确定所述第一证书加载请求与第二证书加载请求的时间差,其中,所述第二证书加载请求用于上一次请求加载所述域名对应的证书;

若所述时间差大于第一预设阈值,所述网页发送模块1003,还用于向所述中继服务器发送所述第一证书加载请求;

所述网页接收模块1001,还用于接收所述中继服务器发送的所述域名对应的证书;

所述网页存储模块1004还用于更新所述域名对应的证书;

所述网页发送模块1003,还用于向所述用户发送更新后的所述域名对应的证书。

可选的,若所述时间差小于等于第一预设阈值,所述网页发送模块1003还用于向所述用户发送所述域名对应的证书。

可选的,所述网页处理模块1002,还用于确定所述时间差大于第二预设阈值,其中,所述第一预设阈值大于所述第二预设阈值,所述第二预设阈值大于0。

可选的,所述网页服务器存储有域名对应的配置文件,其中,配置文件中包含回调函数;

对于静态证书的域名对应的配置文件的回调函数为空,所述静态证书存储于所述网页服务器中,以从所述网页服务器的证书存储位置获取所述域名对应的静态证书;

对于动态加载的证书的域名对应的配置文件的回调函数用于执行上述第一方面所述的步骤。

本实施例的装置,对应的可用于执行上述任一所示方法实施例中网页服务器所执行的步骤,其实现原理和技术效果类似,此处不再赘述。

图11为本公开实施例提供的一种中继服务器的结构示意图,本实施例的中继服务器包括:中继接收模块1101和中继发送模块1102;

中继接收模块1101,用于接收网页服务器发送的第一证书加载请求,所述第一证书加载请求中包含域名,所述第一证书加载请求用于请求加载所述域名对应的证书;

所述中继发送模块1102,用于向所述网页服务器发送第一证书加载响应,所述第一证书加载响应中包含所述域名对应的证书;

其中,所述中继服务器中的存储的所述域名对应的证书来自于证书中心。

可选的,还包括:

所述中继处理模块1103,用于确定所述中继服务器中未包含所述域名对应的证书;

所述中继发送模块1102,还用于向所述证书中心发送所述第一证书加载请求;

所述中继接收模块1101,还用于接收所述证书中心发送的所述域名对应的证书;

所述中继存储模块1104,还用于存储所述域名对应的证书。

可选的,

所述中继发送模块1102,还用于周期性地向所述证书中心发送第二证书更新请求,所述第二证书更新请求中包含域名;

所述中继接收模块1101,还用于接收所述证书中心发送的所述域名对应的证书。

可选的,所述第二证书更新请求中还包括:所述域名对应的第一校验码;所述第一校验码用于所述证书中心根据所述第一校验码确定所述域名对应的证书是否已经更新;

所述中继服务器接收模块具体用于接收所述证书中心发送的所述域名中证书已经更新的域名对应的证书。

本实施例的装置,对应的可用于执行上述任一所示方法实施例中中继服务器所执行的步骤,其实现原理和技术效果类似,此处不再赘述。

本公开还提供一种网页服务器,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中网页服务器执行的步骤。

本公开还提供一种中继服务器,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中中继服务器执行的步骤。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中网页服务器执行的步骤。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例中中继服务器执行的步骤。

本实施例的装置,对应的可用于执行上述任一所示实施例中中继服务器所执行的步骤,其实现原理和技术效果类似,此处不再赘述。

图12为本公开实施例提供的一种加载证书的系统的结构示意图,如图12所示,

本实施例提供的一种加载证书的系统,包括:网页服务器1201、中继服务器1202和证书中心1203。其中,网页服务器用于执行上述任一方法实施例中网页服务器执行的步骤。中继服务器用于执行上述任一方法实施例中中继服务器执行的步骤

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 加载证书的方法、网页服务器、中继服务器、介质和系统
  • 一种网页加载方法、网页加载系统和服务器
技术分类

06120112216951