基于Github Action自动发布git代码到CDN
发布时间: 更新时间: 总字数:670
阅读时间:2m
作者: 谢先斌
分享
复制网址
专栏文章
- StaticGen 网站介绍
- 基于Github Action自动发布git代码到CDN(当前)
- 使用阿里云CDN部署博客404 Page优化
本文总结使用基于
git
、github action
、aliyun oss and cdn
自动发布hugo
的生成的静态页面,本博客也是基于上述技术实现git push
后自动发布到cdn
,这也是gitops
的实践。
为什么使用CDN
CDN
提高用户访问的响应速度和成功率,解决因分布、带宽、服务器性能带来的访问延迟问题,并且减少维护服务器的成本。
技术栈
- gitops
- git
- hugo -> hugo-bootstarp-x
- github actions -> x-actions
- aliyun OSS/CDN
架构图
配置细节
Aliyun OSS
采用私有bucket
Aliyun CDN
- 换成配置
- / 目录 7天 1
- css,js,png,jpg 文件后缀名 1个月 10
- HTTP头 Cache-Control:36000
- 404 https://www.xiexianbin.cn/404.html
- 重写:
^/$
/index.html
redirect
- Refer防盗链配置黑名单(见Refer问题)
若发布的是 vue
项目,可以参考:阿里云 Edgescript 发布 vue 项目,不与 重写
部分混用。
优化
- font-spider 精简 font 字体
其他
- github 项目 upptime 监控网址 status
- 分析阿里云 CDN 404 链接:aliyun-cdn-404.fc
- https://github.com/xiexianbin/jekyll2hugo
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/
- refer工作原理
防盗链功能基于 HTTP 协议支持的Referer
机制,通过Referer
跟踪来源,对来源进行识别和判断。用户访问加速域名网站内容时,访问请求到达CDN节点后,CDN节点会根据配置的Referer
黑白名单,对访问者的身份进行识别和过滤,符合规则的可以顺利访问到该内容。如果不符合规则,该访问请求将会被禁止,返回403禁止访问的错误信息。
- 解决方法
取消OSS
和CDN
的refer
配置
- 取消refer
- 启用refer黑名单
- 启动refer白名单,将常见的搜索添加到refer中,常见的refer包括:
- www.baidu.com
- www.googole.com
- so.com
- 上一页:Gitops 介绍
- 下一页:Centos7 切换内核
专栏文章
- StaticGen 网站介绍
- 基于Github Action自动发布git代码到CDN(当前)
- 使用阿里云CDN部署博客404 Page优化
最近更新
最新评论