问题描述

在使用阿里云CDN加速OSS静态文件后,访问OSS资源时,OSS资源被强制下载。

问题原因

使用CDN加速OSS资源时被强制下载的原因如下:
  • 由于OSS的默认策略在访问3级域名时,会给文件添加attachment属性,导致文件为强制下载。
  • CDN缓存了错误的Content-Type或者Content-Disposition。

解决方案

需要修改CDN的回源HOST,配置为加速域名而不是Bucket域名(即不是为aliyuncs.com结尾的域名,此域名为OSS的默认域名),操作步骤如下:

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
  4. 在指定域名的左侧导航栏,单击回源配置
  5. 配置页签,单击默认回源HOST右侧的修改配置默认回源HOST
  6. 打开回源HOST开关,域名类型选择加速域名,单击确定回源HOST
    说明 如果问题没有解决且对应的资源开启了CDN加速,源资源的Content-Type设置正确,但是未设置Content-Disposition,说明可能是CDN缓存了错误的Content-Type或者Content-Disposition,可以参见刷新缓存,更新缓存信息。