【建议】:使用 Cloudflare Pages 构建全球 CDN 加速
Tikas opened this issue · 10 comments
检查清单
- 已经搜索过,没有发现类似 issue。
- 已经阅读 hexo 官方文档,未发现原生支持。
需求描述
起因
这几天看到 Issues 里提问了多个关于 Jsdelivr CDN 失效的问题,加上很早之前也发生过失效问题,影响比较大,在这构思出一个可行的 优 (白) 雅 (嫖) 方式。
灵感
由于本人一直都是使用 Cloudflare Pages,Cloudflare 的稳定是有目共睹的,虽然在我们的区域里成为了减速云,但是多数也都是能正常访问的。
由于其本身并没有限制流量,用它来作为静态 CDN 是一个可行的方案。
食用方法
- 创建 github 静态资源仓库
- Cloudflare Pages 关联静态资源仓库
- 构建配置(在【设置】-【构建与部署】里设置):
- 构建命令:exit 0
- 构建输出目录:/
- 根目录:/
- 拉取请求上的版本注释:已启用
可以为 github 静态资源仓库做一个 index.html 去链接这些 css 和 js 资源
其他参数不用修改,当然,如果想要更高级玩法,请自行研究哈。
示例
可以参考我的这个小小项目:
静态链接请参考下面的【参考链接】
补充
Cloudflare 由于被玩坏的因素,可能部分地区会无法正常访问,但是,此方法能解决大部分地区的 Jsdelivr CDN 失效的问题。
参考链接
未绑定域名的链接示例(Cloudflare Pages 自带的)https://web-1ny.pages.dev/kitivi.css
如果只是为了解决 Jsdelivr CDN 失效的问题而使用 Cloudflare Pages 的话,我觉得没有这个必要
这个可以配置出来让人选择,其实放在站内引用最好,当然,一些人又想要免费 cdn 的,可以选择,毕竟 CF 是不限流量的
完全没必要
真的是完全没必要吗?
我再次思考,任何事物,先分析优缺点:
-
优点:
-
jsDelivr CDN 已经出现多次无法正常访问了(非 jsd 原因),Cloudflare Pages 会分发到全球上百个边缘节点,而 CF Pages 没有流量限制,拿它做 cdn 真的是可行的。
-
还可以为二级域名定义一个如:cdn.domain.com 的使用场景,对于需要使用 cdn 的小伙伴,可以选择。
-
速度上 CF 的边缘节点多数会比 jsDelivr CDN 好一些
-
-
缺点:
-
对于本身已经使用 CF Pages 的小伙伴,此举多余
-
自身服务器节点比 CF 的边缘节点更快时,会拖累网站加载速度
-
版本控制需要自定义目录或在文件名里增加
-
也许还有其他因素,分析下来,并不是说完全没必要,只能说是因个人的需求场景来决定,如果站点流量大,本身又是使用 JSD 的 CDN ,改换此方法会带来更稳定的 CDN 加速效果
思考并不全面,还望体谅
好问题,我也不知道
我建议是有需要的自己去换cdn,没必要在主题里头改
首先的问题是,为什么使用jsd的cdn?
jsd方便,仓库里的东西直接拼接链接就能用,如果jsd再出问题就得考虑迁移到别的cdn了,或者默认都用本地的。
网络环境导致,更换别的也很难确保不会再出现 JSD 的情况,或许,核心的 css js 真的使用本地的会更稳些
我建议是有需要的自己去换cdn,没必要在主题里头改
是的,之前标题写错,其实我的本意也是告诉大家,可以使用这个方法,内容已经是尽可能的直白些,以方便使用 JSD 的小伙伴们可以参考此 issues ,尝试自己构建一个依赖于 cf 的 cdn
然而站在开发角度,CF 的并不是理想的,号称减速云可不是白叫的,直接运用在主题里非最佳方案,下次提问题前我会想好主题,再来发表
为这给大家带不便,很是抱歉,让大家见笑了,XDDDD