如果您的网站内容以视频点播内容为主,您可以使用火山引擎 CDN 为网站做加速,以提高用户观看视频的流畅度,同时可帮助网站增强对视频资源的保护。本文介绍使用 CDN 加速视频类网站推荐的方法。
业务诉求:
- 减少回源流量消耗;
- 提升视频的首播时间和流畅度。
- 需要使用 HTTPS 加密服务保障访问数据安全。
- 需要支持防盗链策略,防止资源被恶意盗链,流量被恶意盗刷。
网站需要加速的内容如果除了音视频业务,如果有其他网页或者图片业务,可将业务进行拆分后再进入如下步骤,各使用一个域名选择不同业务的加速类型加速效果更佳,例如:
域名操作入口:
域名新增完成后,可在左侧导航栏,点击 域名管理。在域名列表页,找到待配置的域名,在 操作 列上,点击 管理 进入域名配置页。然后点击 编辑,进入域名配置编辑页面。
在配置页进行配置修改或开关开启、关闭操作后,您还必须点击右上方 提交编辑,配置才能生效。
域名支持多配置项同时修改,一次提交。下文为根据点播业务场景,推荐的配置项操作指南。
在配置页,点击缓存配置,可通过以下维度提升文件在 CDN 的命中率,减少回源带宽。
文件类型 | 文件格式 |
---|---|
MPEG 视频 | MP4 ,mpeg ,mpg ,3pg |
微软视频 | avi ,wmv ,asf ,asx |
Real Player | rm ,rmvb |
Media | ogg |
Apple 视频 | mov ,m4v |
其他视频 | dat ,mkv ,vob ,flv ,f4v |
音频格式 | wma ,mp3 |
配置示例
MP4,MP3 类文件缓存 1 年, jpg类文件缓存 30 天。其他文件缓存行为遵循源站响应中 Cache-Control 和 Expire 头部的指示。
在如下情况配置去问号参数缓存,可有效提高缓存命中率:
配置示例
全部文件去问号参数缓存,带参数回源。
若源站支持 Range 请求,通过在 CDN 开启回源 Range,可有效降低回源带宽。
注意:当开启 Range 回源时,CDN 回源的请求是分片回源分片缓存。如果将 range 回源状态从开启调整为关闭时,无论本地是否已有部分 Range 的缓存,CDN 都会重新回源拉取完整文件,此时回源带宽将会增加。
配置示例
在配置页,点击 回源配置,开启 Range 回源。
配置 HTTPS 证书,将终端用户和 CDN 之间的通信进行加密,可保障访问数据安全。开启HTTPS的同时,火山 CDN 会默认帮您开启HTTP/2 来提升 web 性能,减少网络延迟。同时也会默认帮您开启 HTTP 和 HTTPS 共享缓存来减少回源,提升命中率。
配置操作
在配置页,点击访问控制,可配合客户端请求支持对 URL 鉴权的功能来防止资源被恶意盗链,流量被恶意盗刷的情况。火山引擎提供 5 种鉴权方式,可自行针对业务需求选择一种进行配置。
注意事项:
- URL 鉴权在 CDN 节点侧进行,无需服务端进行改造;
- 开启 URL 鉴权后,在用户端发起访问时,需要按约定携带签名信息,否则会导致无法访问;
- 通过 CDN 鉴权校验的请求,在回源时会去掉域名鉴权相关的参数或加密路径。
访问示例:https://www.volcengine.com/product/cdn?sign=1620291453-RGjpOiCONz-0-a8054e3070d32f4c2ba92cf1e8afc66c
回源示例:https://www.volcengine.com/product/cdn
若域名下所有资源的访问为格式:scheme://host/path?sign=timestamp-rand-uid-md5hash(path-timestamp-rand-uid-key)
,回源格式:scheme://host/path
,则可开启 A 类鉴权配置。
字段说明:
- scheme: 请求协议;
- host:用户访问的加速域名;
- path:请求路径,从发起的请求中截取,以 "/" 开头;
- timestamp:请求时间,十进制 UNIX 时间;
- rand:随机字符串,由 1 ~ 100 位大小写字母与数字组成;
- uid:默认为 0;
- key:与 CDN 服务端约定的秘钥,主 KEY 与备 KEY 均可;
- sign:请求鉴权的参数,可自定义参数名。
开启 A 类型后,需要配置的内容如下:
访问示例:https://www.volcengine.com/202105061700/2a76bb4719ab4beb77b4746b9c984a1d/product/cdn?dfrfr=gtgbnh&abc=45gbg
回源示例:https://www.volcengine.com/product/cdn?dfrfr=gtgbnh&abc=45gbg
若域名下所有资源的访问为格式:scheme://host/timestamp/md5(key + timestamp + path)/path(?query)
,回源格式为:scheme://host/path(?query)
,则可开启 B 类鉴权配置。
字段说明 :
- scheme: 请求协议;
- host:用户访问的加速域名;
- timestamp :请求时间,格式为 YYYYMMDDHHMM,如 202107281500;
- key :与 CDN 服务端约定的秘钥,主 KEY 与备 KEY 均可;
- path :请求路径,从发起的请求中截取,以 "/" 开头;
- sign:请求鉴权的参数,可自定义参数名。
开启 B 类型后,需要配置的内容如下:
访问示例:https://www.volcengine.com/b1725c0a6120092863001cd8004c4adb/6093AF7D/product/cdn?dfrfr=gtgbnh&abc=45gbg
回源示例:https://www.volcengine.com/product/cdn?dfrfr=gtgbnh&abc=45gbg
若域名下所有资源的访问为格式:scheme://host/md5(key + path + timestamp)/timestamp/path(?query)
,回源格式为:scheme://host/path(?query)
,则可开启 C 类鉴权配置。
字段说明 :
- scheme: 请求协议;
- host:用户访问的加速域名;
- timestamp :请求时间,格式为 YYYYMMDDHHMM,如 202107281500;
- key :与 CDN 服务端约定的秘钥,主 KEY 与备 KEY 均可;
- path :请求路径,从发起的请求中截取,以 "/" 开头;
- sign:请求鉴权的参数,可自定义参数名。
开启 C 类型后,需要配置的内容如下:
访问示例:https://www.volcengine.com/product/cdn?sign=e954e253c33634b510443af72406600f&t=1620291453&dfrfr=gtgbnh&abc=45gbg
回源示例:https://www.volcengine.com/product/cdn?dfrfr=gtgbnh&abc=45gbg
若域名下所有资源的访问为格式:scheme://host/path?sign=md5(key+path+timestamp)&t=timestamp&query
,回源格式为:scheme://host/path(?query)
,则可开启 D 类鉴权配置。
字段说明 :
- scheme: 请求协议;
- host:用户访问的加速域名;
- timestamp :请求时间,格式为 YYYYMMDDHHMM,如 202107281500;
- key :与 CDN 服务端约定的秘钥,主 KEY 与备 KEY 均可;
- path :请求路径,从发起的请求中截取,以 "/" 开头;
- sign:请求鉴权的参数,可自定义参数名。
开启 D 类型后,需要配置的内容如下:
访问示例:https://www.volcengine.com/product/20210905/epcII9CC/922kb/hls/index.m3u8?wsSecret=86ffc1ab4e2c3f1e4e265e2354d1a250&wsTime=1669104515&abc=xFRVFg
回源示例:https://www.volcengine.com/product/20210905/epcII9CC/922kb/hls/index.m3u8?abc=xFRVFg
若域名下所有资源的访问为格式:scheme://host/path?sign=md5(key+path+timestamp+IP+UA)&t=timestamp&query
,回源格式为:scheme://host/path(?query)
,则可开启 E 类鉴权配置。
字段说明 :
- scheme: 请求协议;
- host:用户访问的加速域名;
- timestamp:请求时间,格式为 YYYYMMDDHHMM,如 202107281500;
- key:与 CDN 服务端约定的秘钥,主 KEY 与备 KEY 均可;
- path:请求路径,从发起的请求中截取,以 "/" 开头;
- sign:请求鉴权的参数,可自定义参数名。
开启 E 类型后,需要配置的内容如下:
视频传输过程中支持断点续传,可提升视频传输的速度。CDN 通过默认支持客户端 Range 请求的方式支持续传功能。
域名配置完成后,可将新的资源通过预热操作提前将源站得文件预分发到 CDN 上,提升视频的首播时间和流畅度。
预热操作
- 登录火山引擎 内容分发网络。
- 域名新增:在左侧导航栏,点击 刷新预热,进入文件预热。
预热可以选择手动输入 URL 和上传文件两种,单账号每日可提交的 URL 预热额度 1000 个。预热的URL需要通过换行符进行分隔。将需要预热的资源链接填充入对应位置,提交即可。如果域名有配置 URL 鉴权,在预热时提交的资源链接需要是解密后的 URL 。
在操作记录页面,可筛选历史提交的预热任务进行查看: