本文总结使用基于git
、github action
、aliyun oss and cdn
自动发布hugo
的生成的静态页面,本博客也是基于上述技术实现git push
后自动发布到cdn
,这也是gitops
的实践。
为什么使用CDN
CDN
提高用户访问的响应速度和成功率,解决因分布、带宽、服务器性能带来的访问延迟问题,并且减少维护服务器的成本。
技术栈
架构图
配置细节
Aliyun OSS
采用私有bucket
Aliyun CDN
若发布的是 vue
项目,可以参考:阿里云 Edgescript 发布 vue 项目,不与 重写
部分混用。
优化
其他
FAQ
Refer问题
CDN开启Refer防盗链后,从百度或google搜索时,报403错误,如下
403 Forbidden
You don't have permission to access the URL on this server.
Powered by Tengine
http response中有:referer: https://www.google.com/
防盗链功能基于 HTTP 协议支持的Referer
机制,通过Referer
跟踪来源,对来源进行识别和判断。用户访问加速域名网站内容时,访问请求到达CDN节点后,CDN节点会根据配置的Referer
黑白名单,对访问者的身份进行识别和过滤,符合规则的可以顺利访问到该内容。如果不符合规则,该访问请求将会被禁止,返回403禁止访问的错误信息。
取消OSS
和CDN
的refer
配置
- 取消refer
- 启用refer黑名单
- 启动refer白名单,将常见的搜索添加到refer中,常见的refer包括: