高级设置

设置HTTP头

应用场景

当客户的网站接入CDN后,由于客户端和源站会根据HTTP header的字段信息进行相关的行为处理,所以客户有修改HTTP header的需求。百度智能云CDN支持CDN节点到客户端的response(HTTP响应头)、CDN节点到源站的request(HTTP请求头)中的header信息修改。

HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。

功能

HTTP头中的参数详细解释如下:

参数 解释
Cache-Control 指定浏览器请求和响应遵循的缓存机制
Expires 指定浏览器响应对象的过期时间
Content-Type 指定浏览器响应对象的内容类型
Content-Disposition 激活自定义资源下载设置,以及下载时默认文件名
Content-Language 指定资源在客户端(如浏览器)响应的语言
Access-Control-Allow-Origin 指定跨域请求时,允许访问资源的请求来源
Access-Control-Allow-Methods 指定跨域请求时,允许的跨域请求方法
Access-Control-Max-Age 指定跨域请求时,对特定资源的预请求返回结果的缓存时间
Access-Control-Expose-Headers 指定允许访问的自定义头信息

操作步骤

在“CDN域名管理”页面点击域名地址进入域名详情页,选择“高级配置”页签,点击“配置HTTP头”。

  • 选择“节点到端response生效”设置HTTP响应头,选择“节点到源站request生效”设置HTTP请求头。
  • 请根据实际情况选择类型、HTTP头、值及描述等参数。除了支持设置常用HTTP头外,还支持用户输入并设置自定义的HTTP头。
  • 当资源在节点未命中时会进行回源,此时源站返回的头部信息会一起返回给用户。
  • 由于 HTTP响应头配置是针对域名,因此一旦配置生效,用户对该域名下任意一个资源的响应消息中均会加入所配置头部。
  • 配置 HTTP响应头仅影响客户端的响应行为,不会影响到 CDN 节点的缓存行为。

配置影响

在控制台配置完HTTP头后,在使用当前域名进行请求或者访问返回代码中会携带配置的http头参数。如设置常见HTTP头参数如下:Content-Language为english,Expires为20,在使用curl请求时结果如下:

  • 请求示例(以www.baidu.com域名为例)

    > GET / HTTP/1.1
    > Host: www.baidu.com
    > User-Agent: curl/7.43.0
    > Accept: */*
    
  • 返回示例

    < HTTP/1.1 200 OK
    < Server: bfe/1.0.8.18
    < Date: Thu, 23 Mar 2017 08:31:37 GMT
    < Content-Type: text/html
    < Content-Length: 2381
    < Last-Modified: Mon, 23 Jan 2017 13:27:30 GMT
    < Connection: Keep-Alive
    < ETag: "588604c2-94d"
    < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    < Pragma: no-cache
    < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    < Accept-Ranges: bytes
    < Content-Language: english
    < Expires: 20
    

    返回示例的最后两行可以看到已经携带HTTP的设置参数。

注意:

  • 每个域名最多可以配置20个HTTP头信息。
  • 配置、修改或删除HTTP头预计10分钟内生效,生效后才可以看到新的配置结果。
  • HTTP头的取值最大长度为128,支持英文字符、数字和特殊字符。
  • HTTP头的描述最大长度为128,Utf-8编码格式,支持中文,数字,特殊字符。
  • 可以通过用户请求头中的accept-encoding字段设定CDN输出的静态文件有gzip压缩功能。

设置视频拖拽

CDN支持flv与mp4视频类型的拖拽,开启拖拽可降低回源率,提升速度。

原理简介

  • MP4

    百度智能云CDN支持MP4文件的伪流(pseudo-streaming)播放,通常这些文件拓展名为.mp4,.m4v,.m4a。

    在一个典型的Flash播放器中(不同播放器可能不同),如果用户拖动进度条,播放器会发送一个HTTP(S)请求,并在该请求的查询参数中带有指定时间的参数(通常参数名为start,单位为秒),服务器响应以该时间开始的视频流。例如:http://example.com/elephants_dream.mp4?start=238.88
    类似的,您还可以指定结束时间(通常参数名为end,单位为秒),服务器会响应从start到end指定范围内的视频内容。例如:http://example.com/elephants_dream.mp4?start=238.88&end=555.55

    这使得您的Flash播放器可以依靠服务器实现进度条拖动功能。

  • FLV

    百度智能云CDN同样支持Flash Video(FLV)文件的伪流(pseudo-streaming)播放,通常这些文件拓展名为.flv。

    FLV文件的伪流模式与MP4有所不同:FLV文件是通过文件字节偏移进行拖动的。

    通常情况下(不同播放器可能不同),用户在FLash播放器中播放一个FLV文件,当用户拖动进度条时,播放器会发送一个HTTPS(S)请求,并在该请求的查询参数中携带指定文件字节偏移的参数(通常参数名为start,单位为字节),服务器根据配置会响应以两种不同的内容:

    • byte模式:服务器响应以原始FLV文件从start指定字节开始的文件内容
    • byteav模式:服务器在原始FLV文件以start指定字节开始的内容前添加上第一个Video Tag和Audio Tag(通常为Metadata)作为响应,该模式由于包含Metadata使得播放器的解码参数得以重设。
      即byteav模式比byte模式要多响应两个Tag(Metadata)。

背景信息

CDN视频拖拽支持对“suffix列表”、“start参数名称”和“end参数名称”进行自定义设置。

mp4类型按秒进行拖拽,flv类型按字节进行拖拽。

可选择配置为“按字节-byteav”或“按字节-byte”,如果配置byteav,CDN系统会把FLV中的第一个audio tag和第一个video tag添加到返回结果中的。请根据实际情况选择配置。

  • suffix列表

    suffix即文件后缀名,mp4文件默认为“mp4”,flv文件默认为“flv”。由于不同用户对文件类型的后缀名定义有所差异,在CDN视频拖拽设置里面,可根据实际情况填写满足自身规范要求的后缀名,可填写一个或多个,多个后缀名请以逗号分隔。

  • start参数名称

    表示视频拖拽开始时间的参数,默认为“start”。由于每个用户对视频开始参数的定义和标识不完全相同,用户可根据实际情况修改参数名称。CDN将识别用户设置的start参数值为开始时间或字节。

  • end参数名称

    表示视频拖拽结束时间的参数,默认为“end”。由于每个用户对视频end参数的定义和标识不完全相同,用户可根据实际情况修改参数名称。CDN将识别用户设置的end参数值为结束时间或字节。

设置样例:

如果用户A将mp4类型的suffix值设置为“mp4v”,start参数名称和end参数名称分别设置为“start1”和“end2”。则用户侧的视频请求地址为:

http://a.com/b.mp4v?start1=200&end2=500

CDN将识别“mp4v”后缀的文件为mp4文件,会直接解析start1和end2参数对应的值,返回相关内容给用户。

操作步骤

  1. “CDN域名管理”页点击“域名地址”的链接,进入“CDN域名详情”页。

  2. 选择“高级配置”页签的视频拖拽功能。

  3. 点击“MP4”或“flv”类型后面的“编辑”,设置相关参数。

  4. 点击“确认”,完成配置操作。

  5. 根据实际情况,您可以将视频拖拽的状态调整为“ON”或“OFF”。

Quic协议配置

功能概述

Quick UDP Internet Connection(Quic)协议是Google公司提出基于UDP的高效可靠的互联网传输层协议。

用户开启此功能,CDN将会遵循Quic协议进行用户IP请求处理,保证可靠性的同时还能提高处理速度和效率。

Quic开启条件

用户开启Quic协议的前提是已经开启了https配置,有关https配置详情请参考配置Https

Quic协议的优势

  • 更低的连接建立延迟

    当客户端第一次连接服务器时,QUIC只需要1RTT(Round-Trip Time)的延迟就可以建立可靠安全的连接,相对于TCP+TLS的1-3次RTT要更加快捷。之后客户端可以在本地缓存加密的认证信息,在再次与服务器建立连接时可以实现0-RTT的连接建立延迟。

  • 改进的拥塞控制

    Quic 具有可插入的拥塞控制,且有着比 TCP 更丰富的信令,这使得 Quic 相对于 TCP 可以为拥塞控制算法提供更丰富的信息。Quic 协议当前默认使用了 TCP 协议的 Cubic 拥塞控制算法。

  • 避免队头阻塞的多路复用

    QUIC同时复用了HTTP/2协议的多路复用功能(Multiplexing),但由于QUIC基于UDP所以避免了HTTP/2的队头阻塞问题。

  • 连接迁移

    连接迁移就是当其中任何一个元素发生变化时,这条连接依然维持着,能够保持业务逻辑不中断。

  • 前向冗余纠错

    通过前向纠错可以恢复少部分丢失的包。

开通步骤

  1. 进入域名配置页,点击【高级设置】,选择“Quic协议配置”。
  2. 将“Quic协议”开关设置为“ON”状态即可。

image.png

注:用户开启Quic协议的前提是已经开启了https配置。

SEO优化配置

SEO(Search Engine Optimization)优化是一种利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名的方式。目的是为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌收益。

  • 搜索引擎开启自动回源

    用户的域名在接入CDN后,因CDN频繁变更IP而影响域名搜索结果的权重。用户可选择开启搜索引擎自动回源功能,将来自搜索引擎的请求直接回源,保证搜索引擎权重的稳定性。

  • 数据与百度搜索链接

    CDN进行SEO相关优化,向百度搜索提供数据接口,将CDN客户方的访问日志数据实时提供给搜索部门,进行页面热点分析,并有助于客户进行爬虫处理。

具体操作步骤如下:

  1. 在 “CDN域名管理”页点击“域名地址”的链接,进入“CDN域名详情”页。
  2. 选择“高级配置”页签的SEO优化配置功能,将想要开启的功能对应按钮设为”ON”状态。

注:搜索引擎开启自动回源的默认回源地址为添加的第一个源站地址,其他请求将正常访问CDN节点。

带宽阈值设置

功能概述

百度智能云CDN将支持用户有可选择性的完成对域名级别设置带宽封顶阈值,并可根据用户的配置值将所有访问进行相应选项的处理,当域名在统计周期(5分钟)产生的带宽超出阈值后,为了保护您的域名安全,会自动进行后续访问流量处理。

带宽阈值功能目的:

  • 使用户可针对域名进行带宽上线限制;
  • 域名达到上限后,针对不同用户场景,如抵抗超强 DDoS 攻击、控制 CDN 费用、防止普通异常情况,可有针对性的进行后续流量处理;
  • 当带宽超出阈值时,及时通知用户,使其感知并采取相应措施。

带宽封顶配置

  1. 进入域名配置页,点击【高级设置】,选择“带宽封顶配置”。
  2. 编辑“带宽封顶配置”,设置带宽阈值及超出阈值后对用户请求的处理方式。

    配置项说明:

    • 带宽封顶:默认带宽阈值为10Gbps。
    • 访问限速:当带宽超出指定阈值时,动态调整该域名涉及的所有节点流量,进行限速,将带宽控制在阈值范围内;适用于防止普通异常情况发生,不影响用户的服务。
    • 访问返回404:当带宽超出阈值时,将对超出阈值部分的访问请求返回404页面,域名本身运行状态不变;适用于抵抗超强 DDoS 攻击,保护用户的源站。
    • 访问回源:当带宽超出指定阈值时,将域名下所有访问切回源站,CDN转为关闭状态;适用于控制 CDN 费用,不影响用户的服务。
  3. 设置相关提醒,用户可以选择短信、邮件或站内信方式进行相关提醒。

  4. 设置完成后,用户可在当前页面查看配置状态。

说明:

访问限速:仅限制50Gbps及以上带宽,上下存在浮动10%或1G(取最大值),1秒达成限速。
由于带宽封顶是后生效,期间会有10~15分钟的延迟时间,也就是说带宽先超过阈值,超过后的10~15min内才会采取对应处理,所以用户在延迟期间所产生的带宽突增是不会被抹掉的,是需要纳入计费的。

页面优化

功能介绍

用户开启页面优化功能,将自动删除 html中的注释以及重复的空白符,这样可以有效地去除页面的冗余内容,减小文件体积,提高加速分发效率。

操作步骤

  1. 进入“域名管理”页面,点击要配置的域名后的【管理】。
  2. 点击【高级配置】,选择页面优化。
  3. 在页面优化区域,打开页面优化开关即可。

    image.png

页面压缩

功能介绍

开启智能压缩功能后,您可以对大多数静态文件进行压缩,有效减少用户传输内容大小,加速分发效果。

text/plain、application/x-javascript、text/css、application/xml、text/javascript、text/html、text/xml、application/javascript、image/svg+xml、application/json、text/json。

适用于所有业务类型。

操作步骤

  1. 进入“域名管理”页面,点击要配置的域名后的【管理】。
  2. 点击【高级配置】,选择页面压缩。
  3. 在页面压缩区域,打开页面优化开关即可。

    image.png

WAF配置

应用场景

WAF(Web Application Firewall)是百度智能云提供的一项安全服务,提供WEB安全防护服务,能够有效防黑客利用应用程序漏洞入侵渗透。

CDN支持WAF功能,实现对数据全方位的安全保护。

  • WAF设置为“ON”:用户在创建CDN加速后,WAF功能默认开启。若用户手动关闭WAF功能后,也可以通过WAF开关随时开启。

  • WAF设置为“OFF”:由于一些用户的业务类型特殊,可能存在自身业务被WAF命中,导致业务无法提交等情况发生,此时用户可以将WAF功能暂时关闭后再开启。

前提条件

用户已创建CDN加速并且CDN的域名加速处于运行中。

操作步骤

  1. 点击左侧域名管理选项,进入CDN域名管理界面。

  2. 点击“安全配置”页签,通过“WAF开关”按钮,关闭/开启WAF防护功能。