CDN加速OSS以及相关问题

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 本文主要介绍CDN加速OSS的原理、入门配置以及常见问题。

背景信息

OSS源站上存储的静态资源包括静态脚本、图片、附件和音频/视频。当终端用户请求访问或下载静态资源时,CDN对OSS源站上的静态资源进行加速,源站上的资源缓存到CDN的加速节点,系统自动调用离终端用户最近的CDN节点上已缓存的资源。加速OSS架构如下图所示。具体操作可以参考CDN加速OSS最佳实践
p50521.png


架构优势

CDN加速OSS的优势如下
(1)用户访问网站资源,全部通过CDN,降低源站压力。
(2)使用CDN流量,单价低于OSS直接访问外网流量。
(3)资源从距离客户端最近的CDN节点获取,减少网络传输距离,保证静态资源质量。


常见问题

一. 如何设置缓存自动刷新
CDN加速OSS的场景下,在OSS的Bucket中修改了Object,使用CDN加速域名访问得到的Object仍是更新前的旧版本,必须在CDN中手动刷新后才能访问到新版本的Object。

这是因为Bucket中的Object更新了,但是CDN中该Object的缓存未到期,所以访问的时候还是老的资源。用户可以开启CDN缓存自动刷新功能。开启此功能后,若Object有更新,OSS会自动刷新CDN上的缓存,从而实现文件更新时缓存自动刷新。具体可以登录OSS控制台,在对应Bucket下选择【传输管理】>【域名管理】界面,设置开启CDN缓存自动刷新。
image.png


二. 如何解决静态文件强制下载
出于安全考虑,从2019年9月23日起,针对之后新建的Bucket,直接使用OSS提供的默认域名,从互联网访问OSS上该Bucket的图片类型文件,即mimetype为以下值:
image/jpeg、image/gif、image/tiff、image/png、image/webp、image/svg+xml、image/bmp、image/x-ms-bmp、image/x-cmu-raster、image/exr、image/x-icon、image/heic,扩展名包括:jpg、jpeg、jpe、png、tif、tiff、gif、svg、bmp、ico、ras、dib、svgz、webp、bm、jfif、x-png、exr和heic时,Response Header中会自动加上 Content-Disposition:'attachment=filename;'。即从浏览器访问图片类型文件时,会以附件形式进行下载。用户使用自有域名访问OSS的请求,Response Header中不会加上此信息。解决方案如下:
(1)检查并设置Bucket是否绑定CDN加速域名,详情请参见绑定CDN加速域名
(2)检查并配置CDN配置的回源Host为用户的加速域名,而不是源站域名。如果设置源站域名(也就是OSS的域名),则CDN回源的时候所带的Host就是OSS域名,这样会导致OSS返回强制下载的HTTP头最终导致资源直接下载。
image.png

注:
如果访问URL仍然为强制下载,则可能是CDN缓存了强制下载的HTTP头,需要在CDN控制台刷新URL。另外需要检查OSS源文件的HTTP头内Content-Type的值是否正确,详情请参见OSS如何设置Content-Type


三. CDN加速导致OSS配置的CORS跨域失效
使用CDN加速OSS跨域访问失败,原因是可能存在这样的场景:
第一个用户访问CDN时,没有发起跨域访问,然后CDN回源到OSS的时候OSS返回了不带跨域头的Respons Headers信息,并且被CDN缓存下来了。 当第二个用户访问时,发起了跨域请求,但是由于CDN有缓存,直接把之前缓存下来的不带跨域头的Respons Headers信息返回了,导致本次跨域请求失败。因此建议使用CDN加速OSS时,直接在CDN上去配置跨域规则,具体请参考CDN如何配置跨域资源共享(CORS)


四. CDN加速OSS资源返回403状态码
为了防止OSS被盗链,保护OSS的资源安全,用户把OSS的Bucket权限设置为私有权限,这样就需要带了签名参数的URL去访问。如果CDN加速OSS的访问URL,不带OSS签名参数的话,就会导致403。这种情况下可以开启阿里云OSS私有Bucket回源授权。当开启私有OSS Bucket回源授权后,即表示开启CDN对所有Bucket的只读权限,CDN在回源的时候会计算OSS的签名参数,从而可以从OSS上正常获取资源。


五. CDN加速OSS访问静态托管页面返回403

可以通过Network下获取403请求的Response Headers信息去查看对应的错误信息,如果出现如下错误,说明是开启私有Bucket回源授权的情况下访问了OSS的静态首页。需要注意,目前CDN的私有Bucket回源功能和OSS的静态网站托管功能冲突,无法一起使用。

 You are forbidden to list buckets

image.png

目录
相关文章
|
3月前
|
存储 安全 API
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
利用对象存储(OSS)实现内容分发加速 :高效可靠的解决跨境下载延迟问题
85 2
|
11月前
|
存储 JavaScript 对象存储
oss与cdn的区别与联系
oss与cdn的区别与联系
594 0
|
6月前
|
存储 API 对象存储
使用对象存储OSS实现内容分发加速
通过本教程的操作,您可以在OSS中创建bucket并上传数据,可以开通OSS传输加速对OSS数据进行加速访问,从而为游戏服务器分担下载请求,并为用户带来加速体验。
10883 22
使用对象存储OSS实现内容分发加速
|
4月前
|
缓存 API 对象存储
一看就懂:我是如何使用OSS提供的CDN服务的?
一看就懂:我是如何使用OSS提供的CDN服务的?
181 1
|
4月前
|
对象存储 开发者
【获奖名单公示】1024·云上见 使用对象存储OSS实现内容分发加速
仅展示获取实物奖品用户,公示截止至12月14日。
450 1
|
9月前
|
存储 SQL JSON
使用SLS统计分析三方CDN回源OSS月95带宽实践
本文介绍通过使用阿里云日志服务SLS,对存储在SLS中的三方CDN回源阿里云OSS的监控日志数据,进行自定义查询分析之后得到按照不同运营商、不同业务类型(CND)纬度下,回源OSS的带宽月95量级数据,用于业务统计分析。
345 0
|
9月前
|
存储 弹性计算 安全
HTTP、CDN 和 OSS 为什么过时了?深入聊聊 Web3 世界中的协议和硬盘:IPFS
HTTP、CDN 和 OSS 为什么过时了?深入聊聊 Web3 世界中的协议和硬盘:IPFS
217 0
|
缓存 对象存储 CDN
国际阿里云CDN加速导致OSS配置的CORS失效怎么解决!!!
当阿里云对象存储OSS的Bucket配置了CDN加速或开启了图片处理服务功能,可能会导致OSS上配置的CORS失效。
国际阿里云CDN加速导致OSS配置的CORS失效怎么解决!!!
|
存储 边缘计算 缓存
国际阿里云实名账号,请问CDN加速和OSS传输加速有什么区别?
本文主要介绍阿里云对象存储OSS的传输加速功能和CDN加速OSS资源的区别,以便您根据实际业务进行选择。
国际阿里云实名账号,请问CDN加速和OSS传输加速有什么区别?
|
2月前
|
域名解析 网络协议 安全
阿里云CDN
本文介绍阿里云CDN产品中涉及的基本概念,便于您更准确地理解和使用CDN产品。
59 5