Github Page 个人主页——CDN加速

2023-05-16

原文地址

1. 前言

前两篇文章介绍了 如何部署静态网站 以及 给网站自定义域名,到目前为止,您已经拥有一个使用自己的域名的网站了。在访问个人网页时,实质上是去Github的服务器上取资源的,但是国内的 Github 经常抽风,有时候都访问不了官网,您的个人网页自然也就打不开了。
本文介绍一种可以加速网页访问的技术——CDN。

1.1 涉及到的知识

  1. CDN 配置
  2. HTTPS 证书
  3. DNS 解析

1.2 CDN 是什么?

CDN的全称是Content Delivery Network,即内容分发网络。CDN的关键技术主要有内容存储和分发技术。了解更多

1.3 原理

访问域名->DNS服务器->CDN服务器->Github服务器->返回请求资源

2. DNS

2.1 CDN 的选择

我这里选择收费的 腾讯云CDN,也可以选择阿里云,或者国外的。有一些是免费的CDN,例如 jsDelivr 参考 如何使用jsDelivr+Github 实现免费CDN加速? ,我觉得收费的效果好一点,收费也比较低,而且个人网页或者博客访问量一般不高,一般几毛钱一个月,可以自行尝试一下。

2.2 CDN 的配置

  1. 域名管理:添加域名->选择中国境外->填写顶级域名->加速网页小文件
    这里验证归属权就要去 DNSPod 添加一条 TXT 的记录,等待生效验证就行了
    请添加图片描述

  2. 源站配置:源站地址填入四个IP地址->回源HOST填入Github自定义的域名
    这里的 源站地址 表示 GitHub 的服务器IP地址,而 回源HOST 表示要去源站地址找哪个站点,一台服务器(一个IP)可以有很多个站点(网站),而我们在 Github 上绑定了自定义域名,所以用自定义的域名就可以在 Github 的服务器上找到我们的站点了,参考 CDN的加速域名、源站地址与回源host之间的关系
    请添加图片描述

  3. 服务配置:添加一项规则,将 html;css;js 后缀的文件只缓存2分钟,其他全部文件缓存10分钟,后期稳定后可以加长时间,缓存个几天就差不多了,根据需求来。
    这里的节点缓存过期配置就是指,资源在CDN服务器上存留的时间,失效后就会去源站重新拉取新的资源。
    请添加图片描述

3. 获取 HTTPS 证书

  1. 证书管理:配置证书->选择域名->申请SSL证书
    请添加图片描述
  2. 申请一个免费的证书
    请添加图片描述
    第三步这里还需要去 DNSPod 添加一条TXT记录,等待验证通过,就会颁发证书了
    请添加图片描述
  3. 回到第一步,证书管理:配置证书->选择域名->选择证书提交

4. DNS 的配置

  1. 记下 CDN 提供的 CNAME
    请添加图片描述

  2. 在 DNSPod 添加两条 CNAME 记录,其他的记录可以删掉

    主机记录记录类型线路类型纪录值TTL
    @CNAME默认CDN提供的CANME600
    wwwCNAME默认CDN提供的CANME600
  3. 配置后等待解析生效,就可以用域名访问了,也可以去测速一下

5. 结尾

5.1 姊妹篇文章

Github Page 个人主页——项目部署
Github Page 个人主页——自定义域名
Github Page 个人主页——Hexo博客

参考文章

  1. Github 部署 | CDN 加速网页,速度嗖嗖的快!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Github Page 个人主页——CDN加速 的相关文章

  • 是否有任何 git merge-strategies 可以忽略提交上的子模块更新或分支合并到目标分支?

    我的用例是 我有一个包含子模块的存储库的两个分支 我想设置这两个分支的自动集成 但是 只要两个分支上都有子模块更新 我的自动集成脚本就会因子模块冲突而失败 有没有办法让 git 在合并过程中忽略子模块指针的变化 或者提供类似的东西merge
  • 将 git 存储库拆分为压缩的公共和初始私有

    我想在 Github 上开源一个项目 有相当多的提交 超过 2k 我会将它们压缩成一个 初始提交 以便从一个干净的代码库开始并隐藏一些历史内容 问题是 是否有可能 保留一个包含所有初始提交的私有存储库 其中会有一些秘密密钥 travis c
  • 如何将Github中的develop分支设置为默认分支而不是master?

    我知道这可以在存储库的管理页面上完成 可以在那里设置另一个默认分支 这就是这个问题的答案 但我发现 也许是一个错误 以下内容 如果你的master分支和develop分支完全相同 那么git克隆将不会克隆默认的 develop 分支 但仍然
  • git pull origin master 返回致命错误:无效的 refspec

    问题是这样的 每当我这样做时 git pull https github com username reponame github io git 接下来是网址 我没有遇到任何问题 但是当我这样做时 git pull origin maste
  • GIT:查找包括子模块的文件列表(例如使用 git ls-files)

    我一直在试图弄清楚如何获取 git 存储库中所有文件的列表 包括子模块中包含的文件 现在 git ls files将提供顶级子模块目录 但不提供子模块中包含的文件 经过进一步调查 我发现使用git submodule 你可以递归地找到所有的
  • 获取 Github 上已编译二进制文件的链接

    如何在 Github 上添加已编译二进制文件的链接 您可以使用 URL 链接到 GitHub 存储库中的特定文件http github com
  • 无法更改 GitHub Pages 中的源分支

    我为 GitHub Pages 创建了一个简单的网站 该网站的源位于 master 分支中 生成的网站 我希望看到发布的 位于 gh pages 分支下 我希望能够在设置中更改网站的来源 但是设置是灰色的 我无法更改它 请参见下面的屏幕截图
  • git push 无法在 cron 作业中工作

    我目前正在清理 CentOS 6 服务器上其他人留下的烂摊子 有一个应用程序需要每6小时备份一次到github帐户 有一个脚本负责准备数据并负责 git add 和 git commit git Push 由 expect 脚本负责 这样做
  • 如何在 GitHub Action 中推送到受保护的主分支?

    这是我的 github 操作工作流程 name Release on push branches main jobs release name Release runs on ubuntu latest steps name Checkou
  • 执行“挤压和合并”后可能出现问题?

    I used Squash and Merge用于合并dev分支到main因为我不想要来自的一些提交消息dev出现在的分支main但现在我发现main比 dev 提前 1 次提交 并且该图显示 两者之间没有联系dev and main 这是
  • 如何在一台电脑上拥有2个git用户?

    我想练习使用 GitHub 做拉取请求并学习如何观看git 差异不同用户之间 如何在 macOS 的终端上设置另一个用户帐户来执行此操作 如何在用户之间切换 充当第二用户有三个方面 1 GitHub账户 要以其他用户身份使用 GitHub
  • 拉取请求是 Git 的一部分,还是 GitHub、Gerrit 和 Atlassian Stash 等工具的功能?

    Pull 请求似乎是使用 Git 进行代码审查的常用方法 然而 尚不清楚该术语在使用内置函数时是否具有相同的含义 git request pull 或不同的工具 Pull 请求是 Git 的固有功能 还是 GitHub Gerrit 或 A
  • git 分叉是如何工作的?

    所以我登录了 github 并 fork 了一个项目 每次原始存储库更新时 我的分叉存储库都会更新吗 或者我应该每次都从原始存储库进行分叉 这样我就不会错过对原始存储库所做的任何新更改 分叉是存储库的副本 分叉存储库允许您自由地尝试更改 而
  • 签出现有的远程分支

    我见过不同的方法来检查现有的远程分支 假设我的朋友推送了新分支 bigbug 并且我想签出并将我的本地工作副本切换到该分支 我有以下选项 1 git checkout b bigbug origin bigbug 2 git checkou
  • 从 master 更改为新的默认分支 git

    这是一个场景 我们有一个默认的分支 Master 我们以此为基础 创建分支并向上推等等 我们现在创建了一个Develop分支Master并将其设置为默认开发分支 我想知道的是 我现在如何知道我的 git pull 命令是否通过命令行请求默认
  • Github 操作测试之前是否进行了包含特定单词的提交

    我需要确保使用 github 操作进行测试 如果之前已进行包含该单词的提交build 如果提交不包含单词build那么不应运行 github 操作的测试 你能给我一些建议吗 Test name Testing on push branche
  • 如何使用 GitHub API 一次检索多个用户?

    我能够获取单个用户 或自某个时间戳以来创建的所有用户 或者与 GitHub API 进行某些搜索匹配的位置 https developer github com v3 users get a single user https develo
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits
  • 从分叉存储库的 GitHub 操作发布评论的解决方法

    我需要在 GitHub 操作完成后向 GitHub 拉取请求发表评论 例如当 FOSS 社区成员提交 PR 时 我知道 当操作从分叉的存储库运行时 令牌没有对父存储库的写访问权限 因此它无法发布评论 人们是否为此找到了任何可行的解决方法 我
  • 在 Windows 上使用 Git - 意外丢失了大量工作。我可以拿回来吗?

    我很困惑 我想我已经失去了几个小时的工作时间 我之前在 Git 中编辑了一个文件 我保存了它 但没有提交 我确实做了一些其他文件更改 并提交并推送了它们 然而 有一个文件被搞乱了 所以我单击了最后一次成功的提交 然后按了 回滚到此提交 令我

随机推荐

  • Shell脚本——批量关闭服务器

    服务器名称为 xff1a node101 node105 node110 node113 bin bash array 61 102 103 104 105 110 113 101 xff09 for i 61 0 i lt array i
  • 设置文件夹共享

    本文使用共享文件夹名称为 xff1a test 1 右键文件夹 xff0c 点击 属性 xff0c 菜单栏选择 共享 xff0c 点击下面的 共享 S 按钮 2 选择要共享的用户 xff08 此处选择 Everyone xff0c 可以根据
  • Ubuntu16.04的图形化界面无法启动问题

    昨晚在 Ubuntu 下试图安装笔记本触控板的驱动的时候 xff0c 突然 Ubuntu 的图形化界面不见了 xff0c 尝试了 Ctrl 43 Alt 43 F1 F2 F3 无果 xff0c 又在一些博客的指导下尝试在命令行使用 sta
  • Shell脚本——设置ssh免密

    功能 xff1a 实现多台linux主机之间root用户的免密设置 主机名 xff1a node101 node106 在node101上切换至root用户 xff0c 编写以下脚本内容 xff1a bin bash 使用root用户 在n
  • 解析ET6接入ILRuntime实现热更

    1 介绍 ILRuntime项目为基于C 的平台 xff08 例如Unity xff09 提供了一个纯C 实现 xff0c 快速 方便且可靠的IL运行时 xff0c 使得能够在不支持JIT的硬件环境 xff08 如iOS xff09 能够实
  • Python 实现用网页展示多个结果表数据

    Python 实现用网页展示多个表格的数据 前言 一 效果图 二 代码 1 引入库 2 函数定义 3 主程序 前言 实现方法是利用pandas to html 与表格展示的美化相结合 使数据展示更美观 一 效果图 示例 二 代码 本文将使用
  • error while loading shared libraries

    问题描述 我在调试配置一个Linux计算环境的程序时候 xff0c 安装配置好相关的库 xff0c 但是在执行运行程序命令时候报错如下 xff1a error span class token keyword while span load
  • 要求在数组中间删除一个数字

    span class token comment 要求在数组中间删除一个数字 span span class token keyword var span arr span class token operator 61 span span
  • Ubuntu常见问题及解决办法

    在刚开始使用Ubuntu系统时 xff0c 总会遇到各种各样的小问题 xff0c 这里整理了一些遇到的问题及解决办法 xff0c 不断更新中 xff01 xff01 xff01 目录 一 创建文件夹权限不够 1 1 问题描述 1 2 解决办
  • 计算机网络考试题库

    第1章 计算机网络概论 1 xff0e 在20世纪50年代 xff0c 和 xff08 xff09 技术的互相结合 xff0c 为计算机网络的产生奠定了理论基础 2 xff0e 从传输范围的角度来划分计算机网络 xff0c 计算机网络可以分
  • Spring,搭建Spring环境

    控制反转 xff1a 控制了对象的创建 xff0c 反转 xff1a 反转的是获取对象的方式 xff0c 从自己创建对象变为由Spring工厂推送 1 搭建Spring环境 xff0c 导入依赖 spring aop xff1a 开发AOP
  • 【Vxworks操作系统】系统介绍与系统组成-NO.1

    目录 1 VxWorks系统介绍 2 VxWorks特点 3 vxWorks操作系统的组成 1 xff09 实时操作系统核心Wind 2 xff09 I O系统 3 xff09 文件系统 4 xff09 板级支持包 xff08 BSP xf
  • 【Vxworks操作系统】实时多任务介绍-NO.2

    目录 实时多任务 1 1 任务生命周期管理 1 2 任务状态控制 1 3 任务调度 1 4 用户接口 结语 xff1a 实时操作系统是基于多任务和任务间通信的概念的操作系统 xff0c 多任务环境允许一个实时应用由一组各自独立的任务组成 x
  • HDU 6298(数学)

    题意是给出一个数 xff0c 找出这个数的三个因子且这三个因子的和等于这个数 xff0c 输出满足条件的乘积最大的一组因子的乘积 xff0c 如果不存在这样的因子 xff0c 就输出 1 第一次 wa 了 xff0c 因为把题目中的 x n
  • libevent的http服务详解

    libevent的http服务详解 即远程调用 xff0c 得到一个call ID然后验证外部远程参数 span class token function evrpc request cb span span class token pun
  • 创建物理卷报错Can‘t open /dev/sdb1 exclusively. Mounted filesystem?以及对应的解决方法

    创建物理卷报错Can 39 t open dev sdb1 exclusively Mounted filesystem 以及对应的解决方法 一 xff1a 报错二 xff1a 解决方法 一 xff1a 报错 1 添加一块硬盘 2 对硬盘分
  • windows server 2012r2 开启远程桌面

    电脑 右键 属性 远程设置 允许远程连接此计算机 勾选 选择用户 添加administrator 开始 运行 gpedit msc 计算机配置 管理模板 Windows组件 远程桌面服务 连接 允许用户通过使用远程桌面服务进行远程连接 打开
  • Obsidian 多端同步实现

    原文地址 1 前言 如何将 windows 和 android 端的 obsidian 同步 xff1f 可以选择官方的 Obsidian Sync 服务 xff0c 或者使用 FolderSync 等同步工具 本文介绍一种基于 Git 的
  • Github Page 个人主页——项目部署

    本人博客 一 前言 想搭建自己的网站吗 xff1f 通常需要买一台服务器 xff0c 购买一个域名进行备案后 xff0c 解析到自己的服务器 xff0c 还要搭建环境 xff0c 后期运维等等 本文提供一种基于 Github Page 服务
  • Github Page 个人主页——CDN加速

    原文地址 1 前言 前两篇文章介绍了 如何部署静态网站 以及 给网站自定义域名 xff0c 到目前为止 xff0c 您已经拥有一个使用自己的域名的网站了 在访问个人网页时 xff0c 实质上是去Github的服务器上取资源的 xff0c 但