问题
工作中的项目使用了前后端分离得方式去开发,前端存储在OSS上套了一层CDN做加速分发(也因为CDN的价格比OSS更低)。但是最近老是遇到前端部署页面后客户端显示炸了的问题。
尝试
搜索之后,发现OSS支持 对象更新后刷新CDN缓存的功能。
操作步骤
1.点击进入「对象存储OSS」
2.左侧列表选择指定的bucket
3.选择顶部tab栏的「域名管理」
4.添加域名后配置阿里云CDN加速
5.开启 CDN 缓存自动刷新 功能
![]()
这样配置之后自我感觉应该没有问题了,但是测试之后问题居然依旧存在!
调试
因为前端的h5项目每次发布前会进行gulp打包,所以每次生成的文件名除了html文件外,其余的样式、脚本、图片文件名称都会改变。
于是先尝试访问旧版本的样式、脚本文件,果然被删除掉了。再尝试访问新版本的样式、脚本文件,能正常打开。
这样看来 CDN 缓存自动刷新 的功能阿里云是已经实现了,那问题出在哪里呢?
这次打开google的console控制台,发现html文件的内容竟然没有更新,加载的还是旧版本的样式和脚本文件。。
解决
于是进入阿里云CDN后台。设置html文件缓存时间为0秒。
![]()
再次测试,问题解决。