简介
不经测试就对使用中的域名设置防盗链有以下风险:
可能导致现网用户播放失败。
可能未达到播放控制的效果。
如果生成的防盗链中签名参数
sign
计算错误,启用防盗链可能导致现网所有视频播放失败。如果生成的防盗链中过期时间参数
t
过大,启用防盗链后视频播放 URL 不会在预期的时间失效。因此,开发者为域名设置防盗链前应当先测试,确认符合预期后再执行变更操作。并且,开发者终端测试防盗链的同时,不能影响现网用户(即保证防盗链测试对现网安全)。
实现安全的防盗链测试
云点播为开发者提供了安全测试防盗链的解决方案。
术语说明
为了便于说明方案,下表介绍一些会涉及的术语:
方案细节
通常情况下,现网用户从业务的正式 App 后台获取视频的播放 URL,域名为“点播默认域名”,测试客户端从业务的测试 App 后台获取视频播放 URL,域名为“点播测试域名”。当对防盗链测试时,不能直接变更“点播默认域名”,否则现网用户将受到影响。

开发者使用测试客户端和测试 App 后台,充分验证防盗链并确认无误后,可以依次执行以下步骤:
1. 将正式 App 后台派发视频播放 URL 的规则修改成与测试 App 后台一致。
2. 将“点播默认域名”的防盗链配置修改成和“点播测试域名”一致。
如此,“点播默认域名”的防盗链正式生效,经过测试验证的防盗链配置被应用到了现网。
操作示例
以开发者开启 KEY 防盗链为例,介绍防盗链测试的操作步骤:
1. “点播测试域名”开启防盗链。
2. 获取一个测试原始 URL,域名为“点播测试域名”。
3. 测试客户端不能播放测试原始 URL。
4. 测试 App 后台生成带防盗链参数的测试 URL。
5. 测试客户端能够播放带防盗链参数的测试 URL。
6. 正式 App 后台生成带防盗链参数的 URL,域名为“点播默认域名”。
7. “点播默认域名”开启防盗链。
背景

点播默认域名(
example.com
)。点播测试域名(
example-test.com
)。初始状态下,“点播默认域名”
example.com
没有开启 KEY 防盗链。说明:
此处
example.com
和example-test.com
都是示例,开发者需要配置自己的域名。操作步骤
1. “点播测试域名”开启防盗链
1.2. 进入访问控制 > Key 防盗链,启用 Key 防盗链,并使用“生成 Key”生成一个防盗链 Key。
1.3. 单击确定保存,等待配置生效。
2. 获取一个测试原始 URL(域名为“点播测试域名”)
视频的原始播放 URL,是指没有带 防盗链参数 的 URL 地址,可以从控制台 媒资管理 中获取。示例中使用的 URL 为:
http://example-test.com/ca7xxx655/cfbxxx349/PkxxxIA.mov
。3. 测试客户端不能播放测试原始 URL
由于“点播测试域名”已启用 Key 防盗链,执行
curl
访问测试原始 URL 返回的 HTTP 状态码为 403。
4. 测试 App 后台生成带防盗链参数的测试 URL
测试 App 后台按照防盗链的 生成规则,派发带有防盗链参数的测试 URL,形如
http://example-test.com/ca7xxx655/cfbxxx349/PkxxxIA.mov?t=686fb470&sign=125xxxa1c0
。5. 测试客户端能够播放带防盗链参数的测试 URL
执行
curl
访问带有防盗链参数的测试 URL 返回的 HTTP 状态码为 200。
并使用测试客户端进行验证是否能正常播放。
6. 正式 App 后台生成带防盗链参数的 URL(域名为“点播默认域名”)
测试环境验证后,业务正式 App 后台派发带防盗链参数的 URL,域名为“点播默认域名”,派发规则与测试 App 后台一致。
7. “点播默认域名”开启防盗链
7.1. 首先,在控制台域名管理页面打开“点播测试域名”的“Key 防盗链”,复制“点播测试域名”的防盗链 Key。
7.2. 然后,打开“点播默认域名”的“Key 防盗链”,把测试域名的 Key 粘贴在“防盗链 Key”文本框中,单击确定保存。
7.3. 域名配置生效后,防盗链配置就会被应用到现网使用的“点播默认域名”,并正式生效。