开发者社区> 张医博> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

OSS 解决方案篇-OSS 结合全站加速使用

简介: 全站加速(DCDN) 与 OSS 是常见的站点动静分离的方式,可以实现将静态资源存储在 OSS 上,并通过 DCDN 加速 OSS 实现静态资源的访问加速效果。如果是动态业务,可以通过最短路由上传回传;
+关注继续查看

功能描述

首先阐述如果能解决动静态分析的场景

DCDN 支持动态的文件加速规则,用户可以配置配置哪些是静态文件需要缓存,哪些是动态文件不需要缓存。

开启动态加速

  • 开启:可自定义动静态资源加速规则,静态内容使用边缘缓存,动态内容采用最优路由回源,支持三种静态文件匹配方式(URI、后缀、路径)
  • 关闭:无动态内容加速效果,仅保留静态边缘缓存功能

image.png

配置方法

创建 DCDN 域名时,选择 OSS 域名作为原站,在下来框里面可以自动检索出客户的 OSS bucket

回源端口建议使用 443 回源避免被劫持
image.png

回源规则

这个规则默认不用更改,但当原站如果是私有 bucket 权限,客户端不想每次自己计算 OSS signature 签名,那可以把 “私有bucket回源” 功能开启,这样用户不用自己计算签名,通过 DCDN 来自动算签;

image.png

缓存规则配置

用户如果之前配置来静态路由规则后,在缓存规则里面可以配置对应的缓存时间,那动态的文件就直接回源,静态的走本地 cache

image.png

跨域配置

当 DCDN 域名回源到 OSS 时会触发跨域,因为 DCDN 和 OSS是两个完全不同的主站,所以需要在 OSS 上配置跨域;

image.png

image.png

如果客户端请求 DCDN 也是两个不同的主站域名那么在 DCDN 上也要配置;
Access-Control-Allow-Origin
Access-Control-Allow-Headers
Access-Control-Allow-Methods

image.png

开启 OSS 自动刷新功能

用户如果更新 OSS 静态文件后,希望 DCDN 将同名的旧文件从缓存中清理掉,可以开启自动刷新功能。

image.png

FQA

使用 DCDN 和 OSS 后静态文件为强制下载

由于OSS的默认策略在访问3级域名时,会给文件添加attachment属性,导致文件为强制下载。

需要修改 DCDN 的回源HOST,配置为加速域名而不是Bucket域名(即不是为aliyuncs.com结尾的域名,此域名为OSS的默认域名);

访问 OSS 静态文件大小和 DCDN 缓存文件大小不一致

OSS 通过 putObject 等上传方式都是会在 response 头中记录content-length 和 content-MD5 的信息返回给客户端,用户可以根据该信息确定本地下载得到的文件是否与 OSS 服务器端存储的数据是否一致。

image.png

但使用 DCDN 加速 OSS 出现文件大小和 OSS 不一致时可以从一下方面进行排查:

  • 获取 DCDN 上的历史缓存。由于 OSS 上的文件更新而 DCDN 上仍然缓存着历史的旧数据导致的该问题,可以通过刷新 DCDN 缓存解决。
  • DCDN 的智能压缩功能。 DCDN 会对满足特定条件的文件自动做 gzip压缩,当客户端发送的 Request 头有 Accept-Encoding : gzip ,即表示客户端支持 gzip 压缩并且满足CDN智能压缩就会进行压缩,而压缩后就会导致该文件更改为 chunked 编码,将无法获取得到 content-length 。
  • DCDN 的页面优化功能。 DCDN 针对于 html 文件提供了 trim 的功能,即 DCDN 在开启页面优化功能后可以帮助用户自动去掉 html 页面中的空格以及注释,这样可以减少下行流量。但是这就会导致客户端接收到的 content-length 或者 content-MD5 发生变化。
  • HTTP 劫持问题。当如果客户端到 DCDN 的边缘节点或者 DCDN 父层节点回源到源站使用 HTTP 协议时数据传输是非加密的,因此是有可能出现在网络传输的过程中包内容被篡改的情况。这种情况就会导致客户端接收与 OSS 存储内容不一致。该问题可以通过修改为 HTTPS 协议规避该问题。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文了解阿里云对象存储OSS
对象存储OSS是什么? 对象存储服务(Object Storage Service,简称 OSS),以 HTTP RESTful API 的形式对外提供服务,是阿里云提供的海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面覆盖从热到冷的各种数据,优化存储成本。其数据可靠性不低于 99.9999999999%(12 个 9),服务可用性
7187 0
一分钟了解阿里云产品:对象存储OSS概述
阿里云的产品种类繁多,今天让我们一起来了解下对象存储(Object Storage Service,简称OSS)吧!
1261 0
三大场景,对象存储OSS带你快速上云
本文介绍对象存储OSS的主要应用场景。 图片和音视频等应用的海量存储 OSS可用于图片、音视频、日志等海量文件的存储。
2465 0
【答疑】对象存储OSS常见问题解答(工具类1)
1. OSS控制台不支持上传文件夹,是否有其它方式可以支持? 解答:OSS提供了ossutil工具,支持文件夹上传。 使用cp命令进行上传/下载/拷贝文件时: 使用-r选项来拷贝文件夹 详见官网说明:https://help.aliyun.com/document_detail/50561.html Github:http://github.com/aliyun/ossutil 2. OSS的URL,怎么将失效时间设置得久一点? 解答:请使用ossutil工具。
3566 0
【答疑】对象存储OSS常见问题解答(咨询类1)
1. OSS最大支持多大的文件? 解答:非multipart方式上传,最大支持5GB的文件; multipart方式上传,最大支持48.8TB。 通过控制台上传、简单上传、表单上传、追加上传的文件大小不能超过5GB, 要上传大小超过5GB的文件必须使用断点续传方式。
3443 0
对象存储 OSS 上传、下载发生 "便秘"
对象存储 OSS 上传、下载发生 "便秘" 再复杂的网络架构和环境中经常遇到各种各样的网络超时问题,OSS 作为很多企业用户的源站经常会遇到下 GET 、PUT 慢的情况,问题就像便秘一样纠缠,作为存储,很多客户端把矛头指向了 OSS ,鉴于情况众多,我们今天具体分析一下都有哪些种便秘堵塞了你的生活。 确认基础信息 ping 工具,目的测试到对端的 IP 链路是否有丢包,RTT(Roun
2002 0
【OSS】对象存储-图片处理
帮您快速掌握对象存储图片处理功能。
4880 0
【实操】对象存储OSS上传和下载
帮您快速掌握对象存储OSS如何上传和下载文件。
2418 0
阿里云产品对象存储oss的使用心得
前言 之前打算写一篇有关个人博客SEO优化的体验和一些自身体会,但是发现自己还没完全理解SEO的一些核心知识和原理,所以就等到以后再来写,毕竟我的百度权值还是0(笑...)。接下来讲解一下博客中用的图床——阿里云对象存储(Object Storage Service,简称OSS),虽然目前大家用的比较多的是七牛云之类的,但是因为我个人原因我还是选择了阿里云,后面我会简单说明下原因。
4369 0
对象存储oss集成到thinkPHP,将图片上传到oss里面
阿里云的对象存储oss,类似七牛存储。 前几天有客户需要把图片放在阿里云的oss里面,百度过一些资料,好像都是oss比较旧的版本1.几的,现在上传一个比较新的oss版本v2.0.5,并集成到thinkPHP里面。
1433 0
+关注
张医博
喜欢钻研新的语言,动手实践自己想要学会的知识。
116
文章
0
问答
来源圈子
更多
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载