一、鉴权原理与格式规范
腾讯云CDN Type-D鉴权通过动态签名验证访问者身份,其标准URL格式为:http://DomainName/FileName?sign=md5hash&t=timestamp
。其中md5hash由主密钥、资源路径和Unix时间戳经过MD5加密生成,时间戳单位为秒且需采用十进制整型。
该机制要求资源路径必须以正斜线开头,且不支持包含中文或问号参数的URL。签名有效期通过时间戳差值控制,最长可设置630720000秒(约20年)。
二、生成步骤详解
- 获取当前Unix时间戳:
timestamp = Math.floor(Date.now / 1000)
- 拼接签名原始字符串:
signStr = CDN密钥 + 资源路径 + timestamp
- 生成32位MD5签名:
md5hash = MD5(signStr).toLowerCase
- 组装最终URL:
https://cdn.example.com/path/file.mp4?sign={md5hash}&t={timestamp}
// 密钥配置
const CDN_KEY = "xxxxxxxx";
const filePath = "/video/sample.mp4";
// 生成时间戳
const timestamp = Math.floor(Date.now / 1000);
// 计算签名
const rawSign = CDN_KEY + filePath + timestamp;
const md5hash = crypto.createHash('md5').update(rawSign).digest('hex');
三、注意事项与验证方法
- 时间戳误差需控制在服务端配置的有效期内,避免超前或过期请求
- 资源路径需包含完整层级,例如
/images/2024/photo.jpg
- 测试时可使用curl命令验证响应状态码:
curl -I "生成的URL"
建议在控制台完成配置后,先通过浏览器开发者工具观察网络请求,确认sign和t参数的正确性。
通过Type-D鉴权机制可有效保护CDN资源,开发者需注意密钥管理、时间戳同步及URL编码规范。建议结合腾讯云控制台的鉴权测试工具进行调试,确保签名算法的正确性。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/557037.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。