基于Github Action自动发布git代码到CDN
专栏文章
- Hugo 使用介绍
- 网站 SEO 教程
- 使用Jekyll在Github上搭建博客 -- 环境安装
- 基于Github Action自动发布git代码到CDN(当前)
- 采用 Algolia 作为 Hugo 搜索方案
- 使用Jekyll在Github上搭建博客 -- 如何将博客上传至github
- 如何在网页中插入关键词
- Hugo/静态网站搜索方案
- 使用阿里云CDN部署博客404 Page优化
- 图片格式转化和压缩
- 使用Jekyll在Github上搭建博客 -- 分页实现
- 使用Jekyll在Github上搭建博客 -- 子菜单的实现
- Jekyll 页面 liquid 语法介绍
- 采用Docker和解决Github Pages禁止百度爬虫的问题
- jekyll Web服务器列目录漏洞
- Jekyll发布文章时字符乱码解决办法 -- invalid byte sequence in GBK
- Staticgen
- Staticgen
- 静态页面发布服务器
- Surge 使用介绍
- Gitbook 使用
本文总结使用基于
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.htmlredirect - 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 Tenginehttp 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
- 上一页: 函数
- 下一页: Centos7 切换内核
专栏文章
- Hugo 使用介绍
- 网站 SEO 教程
- 使用Jekyll在Github上搭建博客 -- 环境安装
- 基于Github Action自动发布git代码到CDN(当前)
- 采用 Algolia 作为 Hugo 搜索方案
- 使用Jekyll在Github上搭建博客 -- 如何将博客上传至github
- 如何在网页中插入关键词
- Hugo/静态网站搜索方案
- 使用阿里云CDN部署博客404 Page优化
- 图片格式转化和压缩
- 使用Jekyll在Github上搭建博客 -- 分页实现
- 使用Jekyll在Github上搭建博客 -- 子菜单的实现
- Jekyll 页面 liquid 语法介绍
- 采用Docker和解决Github Pages禁止百度爬虫的问题
- jekyll Web服务器列目录漏洞
- Jekyll发布文章时字符乱码解决办法 -- invalid byte sequence in GBK
- Staticgen
- Staticgen
- 静态页面发布服务器
- Surge 使用介绍
- Gitbook 使用
最近更新
最新评论