CDN

  • CDN > 常见问题 > 访问下载问题 FAQ

    访问下载问题 FAQ

    最近更新时间: 2026-06-02 14:07:34

    Q1:下载失败,响应非 200 状态码,我应该怎么处理?
    参考文档:通过 http 状态码,判断下载失败原因

    Q2:怎样实现视频链接只能播放,不能下载?
    播放其实就是一种形式的下载,所以只能播放不能下载是实现不了的,但我们可以用一些方式去避免别人下载:
    方法 1 :可以开启域名 时间戳防盗链 ,使得视频链接只在一段时间内可以访问。
    方法 2 :用网页播放器播放视频,可以隐藏掉播放链接。虽然链接可以通过抓包获得,但是此方法可以屏蔽掉大部分的小白用户。

    Q3:如何打包下载多个文件?
    无法通过一次请求,下载多个文件,但是可以用 mkzip 命令,在云端将多个文件打包,然后直接下载该 zip 文件。

    Q4:下载速度太慢,如何解决?
    下载速度慢一般有以下几种情况:
    1.使用七牛测试域名。七牛的测试域名有单 IP 访问次数和带宽的限制,更换自定义的 CDN 加速域名,可以解决。
    2.用户本地的 DNS 设置有问题,跟本地出口 IP 不属同省同运营商,可以绑定公有dns服务器223.5.5.5 114.114.114.114 后,再进行访问测试。
    3.创建域名时使用场景选择有误,比如将网页平台的域名用作视频点播。这种情况需要给七牛提交工单,修改域名使用场景。
    4.客户网络下行带宽较差,可以参考 网络测试 检查客户网络情况。
    5.如果确认客户网络正常,主要是未击中CDN缓存的资源加载慢,可以对相关资源做下 【文件预取】(控制台预取文件文件预取API) 操作;同时针对不同类型的文件设置核实的缓存策略

    Q5:上传前文件的大小和下载的文件大小不一致是什么原因?
    首先 刷新 CDN 缓存 ,刷新 10 分钟后,可通过 检查文件 md5 的方式,来看文件和原文件是否一致。

    Q6:为什么浏览器访问文件不是预览,而是直接下载?
    浏览器会判断文件是否是自己支持预览的格式,如果文件直接下载,说明该浏览器不支持该文件格式。比如 webp 格式的图片,只有 chrome 浏览器支持,其他浏览器不支持。

    Q7:如何实现数据迁移?
    同一账号、不同区域的数据迁移,可以通过 跨区域同步功能迁移数据 操作。
    其他情况,可以使用 qshell 工具。先用 qdownload 命令批量下载到本地,再用 qupload 批量上传到另一空间。

    Q8:如何禁止访问某个文件?
    如果文件是存储在【七牛存储空间】的,您可以调用 修改文件状态 接口将对应文件禁用来实现。
    注意:
    文件状态禁用后,如需全网生效,需要刷新下CDN缓存(七牛控制台刷新CDN缓存调用API接口刷新CDN缓存)。

    Q9:CDN域名同时大量并发观看在线视频是否会卡顿?
    不会,CDN节点默认没有访问速度和带宽限制,视频加载速度主要取决于本地客户端下行带宽大小

    Q10:网站已停止访问CDN域名,为什么还有CDN流量及费用产生?
    1、因为CDN域名配置还在CDN节点,客户端还是能正常请求到CDN资源并产生流量;
    2、如果不需要访问CDN的话,需要在七牛控制台将CDN域名 停用并删除 下,CDN域名删除后才会无法请求进来。
    3、七牛账单存在一天延迟,假如您在昨天删除了CDN域名,在昨天删除域名之前的流量费用,会在今天出账更新,理论上就是今天之后的流量账单才不会继续更新,注意,这个一定要删除了CDN域名后的第2天,流量费用才会保持不变

    Q11:访问资源返回404状态码时,是否会计算CDN流量?
    会计算,CDN流量统计不区分状态码

    Q12:为什么我文件删除了,还有CDN流量?
    1:文件删除后,需要主动刷新 CDN 缓存才可以
    2: 文件删除后且刷新了缓存,但是文件还有少部分流量,这个是404状态码产生的流量导致,只要客户端在持续请求,就会产生少部分的404响应流量,相比源文件,流量会大幅度降低,可以检查CDN详细日志,看下对应的URL的响应状态码是不是非200的响应。

    Q13:微信小程序中无法访问资源,提示「请在“小程库右上角更多->反馈与投诉”中和开发者反馈。」如何处理?
    可以先在微信中直接请求资源外链看下是否正常?
    1、直接请求正常,但小程序访问失败,说明CDN是正常的,问题应该在小程序这一层,需要您那边技术排查下小程序问题;
    2、如果直接请求也失败,可以提供下具体错误信息,提交工单 反馈技术支持人员进一步排查

    Q14:为什么CDN域名的动态查询请求没有请求源站?
    CDN一般用于静态资源的缓存加速,如果是动态请求的话,建议绑定 全站加速 域名来访问;如果源站同时存在动态和静态资源请求,可以参考 缓存配置 文档对静态资源设置缓存时间,最后设置一个全局不缓存来处理。

    Q15:为什么CDN域名在中国大陆区域访问很慢?
    一般是您选择了海外覆盖范围导致的,可以参考 如何自主切换域名覆盖范围? 去核实确认下域名覆盖范围,如果需要中国大陆区域访问的话,需要修改为中国大陆区域覆盖。如果确认域名覆盖范围已经是中国大陆了,可以参考「Q4:下载速度太慢,如何解决?」 进一步排查。

    Q16:为什么无法访问,返回403?
    403一般是域名配置了referer、ip、ua、时间戳、回源鉴权等防盗链策略 或 存储空间是私有空间导致的,可以通过以下步骤排查确认
    1、参考 访问控制配置 检查是否触发CDN防盗链策略拦截导致的?
    1、参考 设置Referer防盗链 检查是否触发存储referer策略导致的?
    3、参考 设置访问控制 检查空间是否是私有的?是的话,需要生成 下载凭证 才可以访问。

    Q17:为什么视频无法播放、加载慢或黑屏?
    1、无法播放或黑屏:一般是视频编码格式浏览器不支持或视频本身存在异常导致的,可以通过 avinfo 命令查询视频元信息和编码格式;
    a、如果 avinfo 命令返回 {"error":"unknown format"} 错误,说明视频本身存在异常导致的,需要您检查上传前的原视频情况;
    b、如果 avinfo 命令返回正常,返回视频编码格式是h265的,由于h265视频编码格式浏览器端支持度不高,建议转换为h264的视频编码格式;可以使用网上第三方工具转码 或 在七牛创建 转码任务 处理;
    2、加载慢:一般是视频moov元信息后置或视频码率太大导致,可以通过 avinfo 命令查询码率信息;moov元信息位置查询可以使用 ffprobe -v trace 视频文件外链 2>&1 | grep -E "moov|mdat" 命令查询,如果 moov 出现在 mdat 之后 说明 moov 后置了。
    解决方法:
    1)、您可以调用「普通音视频转码」https://developer.qiniu.com/dora/manual/1248/audio-and-video-transcoding-avthumb 接口,进行转码,转码命令:avthumb/mp4 即可把元信息提前,这样可以加快资源播放。
    2)、控制台操作转码:
    a)、新建工作流模板,参考文档:https://developer.qiniu.com/kodo/12745/workflow-template#1 「工作流模板」-「新建新建工作流」-「工作流节点配置」 -「添加普通转码」(选择预设 「SYSTEM_MP4_COPY」) - 「添加输出」- 点击「保存」
    b)、使用第1步创建的工作流模板,新建任务,参考文档:https://developer.qiniu.com/kodo/12785/task#3「任务管理」-「新建任务」-「选择输入文件」(需要转码的视频文件) - 「选择工作流模板」- 点击「确定」提交任务

    Q18:为什么图片在手机端可以加载展示,浏览器不能?
    一般是图片格式在浏览器端不支持导致的,您可以使用 imageInfo 命令查看图片格式;可以将图片格式转换为png、jpg、jpeg等这种浏览器基本都支持的格式;图片格式转换命令参考 格式转换

    Q19:无法访问CDN或存储空间资源?
    1、可以先基于 Q1 方法排查看下;
    2、如果无状态码返回,响应超时,建议先确认下本地客户端网络是否正常?可以尝试更换手机流量或其他wifi网络访问测试验证;
    3、ping域名节点返回127.0.0.1地址,一般是本地开启了网络代理导致的,可以关闭本地网络代理后再访问测试;如果本地未开网络代理,可以尝试修改本地dns服务器为223.5.5.5 或 114.114.114.114 公有dns服务器后,重新访问测试;
    4、如果上述方法都无效,可以提供相关错误信息和资源URL等信息,然后 提交工单 反馈技术支持人员进一步排查确认

    Q20:CDN域名已配置证书,https还是无法访问?
    1、可以先检查下域名DNS解析是否正确?CDN域名DNS解析配置参考:CNAME配置
    2、域名DNS解析正常,可以参考 HTTPS配置 检查下 TLS版本是否设置太低导致的?可以都勾选提交成功后,再访问测试
    image.png
    3、上述检查都正常的话,可以右键打开浏览器检查模式,复现后获取下console和network中的错误信息,可以 提交工单 反馈技术支持排查确认。

    Q21:全站加速域名访问504或超时失败,如何处理?
    一般是源站响应慢或源站异常导致的,建议优先排查确认源站情况;如果确认源站正常,可以 提交工单 反馈技术支持进一步排查确认;
    说明:全站加速默认回源超时时间10s

    Q22:https网站下http域名无法正常访问?
    由于浏览器端安全策略问题,目前Chrome、火狐等浏览器默认会将https协议网站内置http协议URL强制升级为https发起访问,这是浏览器端的处理策略,七牛侧无法控制。处理方式:1、整站降为http协议2、整站升级为https协议,参考文档https配置

    Q23:m3u8或mp4的h264编码格式的视频在ios端无法播放,Android正常,是什么原因?
    一般是由于视频编码等级(Level)过高导致的,可以通过转码将视频编码等级降为Baseline。
    解决方法:
    1)、您可以调用「普通音视频转码」https://developer.qiniu.com/dora/manual/1248/audio-and-video-transcoding-avthumb 接口,进行转码,转码命令:avthumb/mp4/vcodec/libx264/h264Profile/baseline 即可将编码等级降为Baseline;
    2)、控制台操作转码:
    a)、新建工作流模板,参考文档:https://developer.qiniu.com/kodo/12745/workflow-template#1 「工作流模板」-「新建新建工作流」-「工作流节点配置」 -「添加普通转码」(选择自定义预设:编码配置 - 编码格式 - 选择H.264,最下面的高级参数 - 编码等级 选择 baseline,其他参数不动,默认即可) - 「添加输出」- 点击「保存」
    b)、使用第1步创建的工作流模板,新建任务,参考文档:https://developer.qiniu.com/kodo/12785/task#3「任务管理」-「新建任务」-「选择输入文件」(需要转码的视频文件) - 「选择工作流模板」- 点击「确定」提交任务

    Q24:为什么CDN访问文件时,返回的Content-Type响应头与存储空间不不一样?
    CDN默认不会修改文件响应头信息,可以参考 HTTP响应头配置 文档看下是否您主动设置了 Content-Type 响应头导致的?是的话,可以删除Content-Type响应头配置,然后 刷新CDN缓存 后,再重新访问测试看看

    Q24:http链接访问正常,https链接访问失败?
    一般是CDN域名未配置https证书或已绑定证书过期导致的。
    https证书配置参考:HTTPS配置
    证书过期处理方式参考 HTTPS 相关问题 FAQ 中的 Q6 处理说明

    Q24:域名访问报错ERR_NAME_NOT_RESOLVED?
    ERR_NAME_NOT_RESOLVED,这个错误意味着 DNS(域名系统)解析失败,即无法将域名转换为对应的 IP 地址。

    1、尝试更换 DNS 服务器,例如使用 Google 的公共 DNS(8.8.8.8 和 8.8.4.4)或 223.5.5.5,备用选择 180.76.76.76。(a.在 Windows 上,你可以通过控制面板 -> 网络和共享中心 -> 更改适配器设置 -> 右键点击你的网络连接 -> 属性 -> Internet 协议版本 4 (TCP/IPv4) -> 使用下面的 DNS 服务器地址。b.在 macOS 上,前往系统偏好设置 -> 网络 -> 高级 -> DNS,然后添加新的 DNS 服务器;
    2、看下是否是进行了本地host;检查 hosts 文件(通常位于 C:\Windows\System32\drivers\etc\hosts 在 Windows 上,或在 /etc/hosts 在 macOS 或 Linux 上),查看是否有错误的条目将域名映射到错误的 IP;
    3、切换网络,重新访问看下。|

    以上内容是否对您有帮助?