HTTPS是以安全为目标的HTTP通道,为CDN的网络内容传输提供了更好的保障。客户端在极速访问内容的同时,可以更安全有效地浏览网站内容。本文为您介绍关于HTTPS的常见问题。

什么是HTTPS?

超文本传输安全协议HTTPS(Hypertext Transfer Protocol Secure),是一种在HTTP协议基础上进行传输加密的安全协议,能够有效保障数据传输的安全。HTTP协议以明文方式发送内容,不提供任何方式的数据加密。HTTPS协议是以安全为目标的HTTP通道,简单来说,HTTPS是HTTP的安全版,即将HTTP用SSL或TLS协议进行封装,HTTPS的安全基础是SSL或TLS协议。HTTPS提供了身份验证与加密通讯方法,被广泛用于万维网上安全敏感的通讯,例如交易支付。当您在阿里云CDN上配置HTTPS时,需要提供域名对应的证书,并将证书部署在全网CDN节点,实现全网数据加密传输。

开启CDN的HTTPS加速后会额外收费吗?

会额外收费。开启CDN的HTTPS加速,实际开启的是客户端到CDN边缘节点这段链路的HTTPS。因为SSL协议的握手和内容解密都需要计算,所以会增加CDN服务器的CPU资源损耗,但不会增加您源站服务器的资源损耗,因为CDN边缘节点到您源站这段链路使用的仍然是HTTP协议,不会额外增加您源站的损耗。

如果您购买不同类型的证书,则需要额外付费。您也可以登录阿里云SSL证书控制台申请免费证书。免费证书等级为DV,每个加速域名可以申请一个免费证书,证书有效期为一年,到期后可以免费自动续签。设置好HTTPS证书后,该域名在CDN上的所有HTTPS请求数会收费,静态HTTPS请求数收费标准为每万次0.05元。

如何配置HTTPS证书?

您可以在CDN控制台中配置HTTPS证书,具体操作请参见配置HTTPS证书

源站已经配置了HTTPS,CDN上还需要配置HTTPS吗?

HTTPS是客户端和服务端的交互,未使用CDN之前,是客户端直接和源站交互,因此源站需要配置HTTPS。使用CDN之后,是客户端和CDN交互,如果您需要以HTTPS的形式访问CDN,则必须在CDN上配置HTTPS证书。在CDN上配置HTTPS证书的方法,请参见配置HTTPS证书

源站的HTTPS证书更新了,CDN上需要同步更新吗?

不需要。源站的HTTPS证书更新后不会影响CDN上的HTTPS证书,当您在CDN上配置的HTTPS证书将要到期或者已经到期时,您才需要在CDN上更新HTTPS证书。具体操作请参见配置HTTPS证书

已经配置了HTTPS,为什么客户端还是HTTP访问?

客户端是以HTTP访问还是HTTPS访问完全是客户端的行为,如果您希望客户端强制使用HTTPS访问,可以在CDN上开启强制HTTPS跳转。具体操作请参见配置强制跳转

CDN的免费HTTPS证书申请失败怎么办?

在阿里云CDN控制台中申请免费HTTPS证书时存在一些限制,这些限制可能导致免费HTTPS证书申请失败,如果免费HTTPS证书申请失败,优先建议您前往SSL证书控制台申请免费证书并进行部署。

上传HTTPS证书,提示证书重复怎么办?

当您上传自定义上传(证书+私钥)类型的证书时,如果系统提示证书重复,您需要修改证书名称后再重新上传。

配置HTTPS证书时提示“证书格式不对”,如何进行转换?

HTTPS配置仅支持PEM格式的证书,不同的证书颁发机构对证书内容的上传有不同的要求,具体格式要求请参见证书格式说明。如果您的证书格式不是PEM,请完成格式转换后再上传,具体请参见证书格式转换方式

开启HTTPS加速会消耗更多资源或降低访问速度吗?

当源站开启HTTPS时,相比于源站通过HTTP访问在计算资源的消耗上会有所增加,主要来自于HTTPS握手过程中对非对称加解密时的消耗,尤其在高并发情况下资源消耗增长明显。对称加解密消耗与HTTP基本一致,因此需要增加Session复用率,但直接通过HTTPS访问源站相比于直接通过HTTP访问源站耗时更长。

通过全站加速进行全链路HTTPS访问时,SSL握手的平均时间会有所缩短,在高并发情况下,对于源站Session复用率会有明显的提高,源站资源消耗会有所降低。
  • 对于静态内容:通过边缘分发的方式,在增加握手时间消耗的同时,减少了传输时间的消耗,因此整体访问上会有所减少,且静态资源无需回源,减少了源站的交互,可以降低源站的资源消耗。
  • 对于动态内容:在路径选择上比通过传统公网访问更加可控且路径最优,动态请求必须回源,通过全站加速的网络回源,可以增加Session复用率,整体传输速度会有所提升。由于动态请求必须回源,因此非对称加解密必不可少,源站的资源消耗会有所增加。但通过全站加速回源形成了全链路HTTPS访问的方式,整体资源消耗上最优。

站点只有登录才需要HTTPS,其他都不需要HTTPS吗?

不是。您需要从以下几个方面来分析:
  • 从安全方面来看:一些页面为HTTP,一些页面为HTTPS,当通过HTTP或不安全的CDN服务加载其他资源(例如JS或CSS文件)时,网站也存在用户信息暴露的风险,而全站HTTPS是防止这种风险最简单的方法。
  • 从性能方面来看:当网站存在HTTPS和HTTP两种协议时,跳转需对服务器进行大量的重定向,当这些重定向被触发时会减慢页面的加载速度。
  • 从全网来看:浏览器对HTTPS的支持会更友好,搜索引擎也对HTTPS的收录有更好的支持。

常见的HTTP攻击类型有哪些?

HTTPS只是安全访问的其中一环,如需全面保证网络安全,则还需要接入WAF、DDoS等防御能力,以下为常见的HTTP攻击类型:

  • SQL注入:利用现有应用程序,可以将恶意的SQL命令注入到后台数据库引擎中并执行。也可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
  • 跨站脚本攻击:跨站脚本攻击XSS(Cross-site scripting)是最常见和基本的攻击Web网站的方法。攻击者在网页上发布包含攻击性代码的数据。当浏览者看到此网页时,特定的脚本就会以浏览者用户的身份和权限来执行。通过XSS可以较容易地修改用户数据、窃取用户信息。
  • 跨站请求伪造攻击:跨站请求伪造CSRF(Cross-site request forgery)是另一种常见的攻击。攻击者通过各种方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据或者执行特定任务的目的。为了假冒用户的身份,CSRF攻击和XSS攻击通常会相互配合,但也可以通过其它手段,例如诱使用户单击一个包含攻击的链接。
  • Http Heads攻击:使用浏览器查看任何Web网站,无论您的Web网站采用何种技术和框架,都用到了HTTP协议。HTTP协议在Response header和content之间有一个空行,即两组CRLF(0x0D 0A)字符,这个空行标志着headers的结束和content的开始,攻击者可以利用这一点。只要攻击者有办法将任意字符注入到Headers中,这种攻击就可以发生。
  • 重定向攻击:一种常用的攻击手段是“钓鱼”。钓鱼攻击者通常会发送给受害者一个合法链接,当您访问链接时,会被导向一个非法网站,从而达到骗取用户信任、窃取用户资料的目的。为防止这种行为,我们必须对所有的重定向操作进行审核,以避免重定向到一个危险的地方。常见解决方案是白名单,将合法的要重定向的URL添加到白名单中,非白名单上的域名重定向时拒绝。第二种解决方案是重定向token,在合法的URL上加上token,重定向时进行验证。