常见问题

更新时间: 2023/09/20 03:14:43

本文介绍点播的常见问题处理。

为什么账单、控制台数据统计中的带宽流量与文件实际访问大小统计有差异?

文件实际访问大小一般只代表应用层产生的带宽/流量,但 CDN 服务端实际产生的网络带宽/流量(网络层统计)通常比应用层带宽/流量要高出 7%~15%。主要原因是网络层带宽/流量比应用层带宽/流量多了以下两个流量消耗:

  • TCP/IP 包头: 应用层流量在开始网络传输之前,需要先使用TCP协议(传输层)封装为TCP数据包,再使用IP协议(网络层)封装为IP数据包,IP数据包最大为1500字节,这其中包含了20字节TCP协议包头和20字节IP协议包头,这两个协议包头也会产生网络流量,但应用层无法统计到这两个包头的流量。这部分包头消耗的网络流量至少占通过实际统计流量的2.74%(按最大IP数据包1500字节,其中TCP/IP包头40字节,应用层数据1460字节),应用层数据越小占比越大,通常在3%左右。

  • TCP 重传: 由于互联网中网络情况较为复杂,在出现网络拥堵、设备故障等情况下就会出现丢包,通常有 3%~10% 的数据会被互联网丢弃,数据包被丢弃后的重传动作是由操作系统内核层的协议栈处理的,无法记录到应用层日志中,因此这部分也会产生额外的网络消耗。

基于以上两个额外的网络带宽/流量消耗,在行业惯例中,会在基于应用层统计带宽/流量的基础上,再加上 7%~15% 的网络消耗来得出实际的计费带宽/流量数据(即:体现在费用账单上的数据)。云信直播点播 CDN 取平均值 10% 做为网络消耗带宽/流量,因此实际的计费带宽/流量是应用层统计带宽/流量的 1.1倍(即:TCP 系数 1.1)。

支持回源 SNI 吗?

支持回源 SNI(Server Name Indication)。具体配置方法请参见添加加速域名

如果您的源站 IP 绑定了多个域名,且 CDN 回源协议为 HTTPS 时(443 端口回源),需配置回源 SNI来指明所请求的具体域名,并使服务器根据该域名正确地返回对应的证书。

回源SNI的工作流程如下:

  1. 当 CDN 节点以 HTTPS 协议访问源站时,需要在 SNI 中指定访问的具体域名。
  2. 源站接收到请求后,根据 SNI 中记录的域名,返回对应域名的证书。
  3. CDN 节点收到证书,与服务器端建立安全连接。

支持自定义回源请求中的 HTTP Header 吗?

支持。请联系网易云信技术支持后台配置该功能。

HTTP请求头是HTTP的请求消息头的组成部分之一,可携带特定请求参数信息并传递给服务器。

当 CDN 节点上没有缓存用户请求的内容时,CDN 节点会回源站拉取资源,源站可获取到 CDN 节点回源请求头中携带的信息。为了便于源站识别用户信息,可以配置回源 HTTP 请求头功能,改写用户回源请求中的 HTTP Header 信息,携带特定的参数信息给源站。例如,通过 X-Forward-For 头部携带真实客户端 IP 至源站。

支持自定义回源响应中的 HTTP Header 吗?

支持。

HTTP 响应头是 HTTP 的响应消息头的组成部分之一,可携带特定响应参数信息并传递给客户端。

当 CDN 节点上没有缓存用户请求的内容时,CDN 会回源站拉取资源,源站收到 CDN 的请求后会给出响应。为了便于用户识别源站的响应信息,您可以配置回源 HTT P响应头功能,改写用户源站响应报文中的 HTTP Header 信息。

例如,改写回源响应头中 Content-Type 参数的值,然后再传递给客户端,以确保客户端解析正常。

如果源站返回的 Content-Type 值有误,客户端直接解析将出现乱码,因此需要在 CDN 上改写。

回源响应指源站收到 CDN 节点的请求后,返回给 CDN 节点的 HTTP 消息。回源 HTTP 响应头配置只会影响源站响应给 CDN 节点的 HTTP 消息,对于 CDN 节点直接响应给用户的 HTTP 消息不做修改。

缓存命中率低或者回源高的可能原因有哪些?

缓存命中率低或者回源高的可能原因如下:

  • 刷新缓存可能导致短时间内命中率下降。
  • 带宽突增会导致CDN节点回源较多,命中率会呈下降趋势。
  • CDN 节点访问新内容导致 CDN 节点回源较多,命中率会表现有下降趋势。
  • 缓存规则调整可能会影响命中率。

源站的 HTTPS 和 CDN 域名的 HTTPS 会相互影响吗?

不会,CDN 域名的证书和源站域名证书不会相互影响。

CDN 支持配置 HTTPS 回源协议访问源站,您也可以设置采用 HTTP 协议回源或协议回源(当客户端使用 HTTP 访问时,使用 HTTP 回源获取资源。当客户端使用HTTPS访问时,使用 HTTPS 回源获取资源)。

配置 HTTPS 安全加速后,兼容 HTTP 的请求吗?

开启 HTTPS 安全加速后,也支持 HTTP 访问。

访问 CDN 加速域名返回 5xx

排查思路

当您在配置 CDN 加速后,访问加速域名异常,您可以将域名指向源站,测试源站是否无响应或源站直接响应5XX。

操作步骤

方法一:在本地 hosts 文件中绑定源站

  1. 网易云信控制台分发加速页面获取配置的源站地址和端口,具体步骤请参见添加加速域名

  2. 打开 hosts 文件。

    • 在 Windows 系统中,hosts 文件的保存路径如下:
    C:\Windows\System32\drivers\etc\hosts
    
    • 在 Linux 系统中,hosts 文件的保存路径如下:
    /etc/hosts
    
  3. 在 hosts 文件末尾,添加条目。示例类似如下:

    10.10.10.10 example.com
    
    
    • 10.10.10.10 请替换为源站的 IP 地址。
    • example.com 请替换为待测试的加速域名。
  4. 使用类似如下命令测试加速域名,确认返回的 IP 地址为源站的 IP 地址。

    ping example.com
    
  5. 清理浏览器的缓存,并重新开启浏览器访问该网站。此时会从 10.10.10.10 这个IP地址获取数据,而不使用 CDN 加速功能。如果浏览器提示出错,说明源站出现问题。

    浏览器访问域名时,会优先从 hosts 文件去获取域名对应的 IP 地址。如果 hosts 文件内没有对应的条目,才会通过本地 DNS 服务器去获取域名解析指向的 IP 地址。

方法二:使用curl工具请求源站

  1. 网易云信控制台分发加速页面获取配置的源站地址和端口,具体步骤请参见添加加速域名
  2. 安装CURL工具,运行 curl 命令,将加速域名绑定到源站IP地址。
  • 如果源站端口是 80,请执行如下命令:
curl -voa "http://example.com/" -x 10.10.10.10:80 
  • example.com 请替换为待测试的加速域名。
  • 10.10.10.10 请替换为源站的 IP 地址。
  • 如果源站端口是 443,请执行如下命令:
 curl -voa "http://example.com/" --resolve example.com:443:10.10.10.10

是否支持 M3U8 加密改写?

支持。HLS(HTTP Live Streaming)标准加密改写是改写 HLS 中 M3U8 文件的#EXT-X-KEY标签,改写成功后会在#EXT-X-KEY 标签中的 URI 末尾追加一个参数,该参数的值由客户端请求携带。M3U8 标准加密改写功能支持开启 HLS(M3U8)标准加密改写,开启加密后可自定义追加参数名称,以配合您的客户端使用个性化的加密参数名。如果不设置自定义参数名,则默认的参数名为 MtsHlsUriToken

是否支持 range 回源?

支持,CDN 支持分片缓存,支持 HTTP 请求中带 range 参数,配置 range 回源。

是否支持拖拽播放?

支持。请联系网易云信技术支持后台配置该功能。

是否支持音视频试看?

支持。请联系网易云信技术支持后台配置该功能。

此文档是否对你有帮助?
有帮助
去反馈
  • 为什么账单、控制台数据统计中的带宽流量与文件实际访问大小统计有差异?
  • 支持回源 SNI 吗?
  • 支持自定义回源请求中的 HTTP Header 吗?
  • 支持自定义回源响应中的 HTTP Header 吗?
  • 缓存命中率低或者回源高的可能原因有哪些?
  • 源站的 HTTPS 和 CDN 域名的 HTTPS 会相互影响吗?
  • 配置 HTTPS 安全加速后,兼容 HTTP 的请求吗?
  • 访问 CDN 加速域名返回 5xx
  • 是否支持 M3U8 加密改写?
  • 是否支持 range 回源?
  • 是否支持拖拽播放?
  • 是否支持音视频试看?