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加速 的相关文章

  • 使用 Github API 是否可以确定某个分支是否位于默认分支之前?

    使用 Github API 无本地 git 命令 是否可以比较分支以查看它在默认分支之前是否有任何更改 我正在构建一个审核工具 并希望确定要关闭的候选分支 因为它们的所有更改都存在于默认分支中 I want the same informa
  • 如何让eclipse记住ssh密钥密码?

    我将 Egit 与 Eclipse 结合使用来使用 git 并访问 github 一切工作正常 但我想省略一件事id rsa每次我将提交推送到 github 时都需要输入密钥密码 每次重新启动 Eclipse 并尝试推送时 都会要求我输入密
  • GitHub 可以用于托管文件(mp3 和图像)吗?

    我正在寻找免费的文件托管服务 它可以让我获得静态链接到每个单独的文件easily 因此 文件 1 png 2 png 3 png 应分配给 URL www something com somepath 1 png http www some
  • GitHub 页面和相对路径

    我创建了一个gh pages我正在 GitHub 上开发的一个项目的分支 我使用 Sublime text 在本地创作网站 我的问题是 当将其推送到 GitHub 时 所有指向 javascrips 图像和 css 文件的链接都无效 例如
  • 为什么 [用户名].github.io 上的 GitHub 页面不会显示?

    我创建了 repo username github io 在 gh pages 分支中推送了第一次提交 等待了 30 分钟 GitHub 说 不应该超过 10 分钟 并在尝试加载我的页面时遇到 404 页面 用不同的浏览器查看 结果都是一样
  • 是否有 Swift 代码的 Github markdown 语言标识符?

    我在用着https jbt github io markdown editor https jbt github io markdown editor在线文档工具 我想知道是否有一个标识符可以识别 swift 语法元素 谢谢 swift s
  • 如何在 Github Actions 中设置机密?

    官方样板代码注入npm token如下 NODE AUTH TOKEN secrets npm token 如何访问和设置该变量 我在 GUI 中找不到它 转到您在 Github 中的项目 选择Settings tab 点击Secrets左
  • Github API:过早获取超出速率限制的问题

    我正在构建一个应用程序来获取问题和拉取请求 https developer github com v3 超过 1K 的 github 存储库 就像这样 curl i https api github com repos user repo
  • 为什么我的散景图在 github 上不起作用?

    我在 github 上有一个私人仓库 并且正在尝试散景 我在本地编辑 ipython 笔记本中的文件 可以看到该图正在运行 当我将它们推送到 github 并尝试在线可视化时 我可以看到除图表之外的所有代码 在 nbviewer 上我可以看
  • 仅当上一步已运行时才运行 GitHub Actions 步骤

    我已经在 GitHub actions 中设置了一个工作流程来运行我的测试并创建测试覆盖率的工件 我的 YAML 文件的精简版本如下所示 name Build on pull request jobs build runs on ubunt
  • 在某些条件下使用钩子自动将一个分支合并到另一个分支?

    我的 github 存储库中有两个分支 master and dev分支 我有一个需要合并的要求master分支到dev在以下条件下分支 一旦 PR 直接合并到 master 分支 那么我需要自动将 master 分支合并回 dev 分支
  • GitHub Atom - 删除编辑器中的中心线

    我刚刚下载了 GitHub Atom Editor 正在对其进行自定义 但我无法删除编辑器中间的那行 有人帮我看看如何删除那条线吗 该行由wrap guide 包提供 您可以使用以下选项来删除该行 Option 1 禁用换行指南包裹 去At
  • Node.js 中的 git 命令

    我想知道是否有人知道 进入 npm 包来使用 git 命令 我有一个nodejs项目 我想执行以下命令 克隆 git 创建分支 git pull request 来自创建的分支 我尝试了一些 npm 包但没有成功 任何帮助将不胜感激 谢谢
  • Git 日志列表提交不包括从第一个分支中精心挑选的内容

    例如我有这个提交历史记录 让我们说在某个时刻release1几天后发布到生产环境 release2分支被释放 branch relase1包含从 master 精心挑选的 2 个提交 4 和 5 branch release2包含 2 个提
  • 为什么我的 git 自动更新 Expect 脚本不起作用?

    我想制作一个脚本来更新我所有的 GitHub 存储库 我只需要输入我的用户名和密码 脚本将遍历存储库列表 调用git push并通过补充 Expect 脚本提供必要的信息 这是我的 bash 脚本 bin bash echo Updatin
  • GitHub 错误 Probot:未找到集成,documentation_url

    我在使用 GitHub 的 Probot 应用程序时遇到身份验证问题 当我使用 npm start 运行应用程序时 我会得到 github Github request GET app installations 404 Not Found
  • 防止 git 在签署提交期间询问 GnuPG 密码

    Git 总是要求我在使用签名提交时输入密码来解锁我的密钥 git commit S m message 如何将密码存储在缓存中 以便我不必在签署提交时每次都输入密码 Git 永远不会掌握 GnuPG 密码 您必须依赖 GnuPG 的缓存密码
  • GitHub 按内容查找文件

    我可以按文件内容过滤 GitHub 存储库中的文件吗 例如 有一个公共存储库 https github com xamarin mobile samples https github com xamarin mobile samples 我
  • 通过命令行创建私有 github 存储库

    我希望能够通过命令行创建一个私人 github 存储库 我认为使用其余 API 应该可以做到这一点 但是我无法从文档中弄清楚如何做到这一点 这可能吗 The GitHub CLI https github com cli cli tool
  • 创建 git 分支并将其合并到史诗分支

    我正在开发一个项目 例如 SO bubbleSort 我需要创建一个名为 feature version 1 的史诗分支 因此从这个史诗分支中很少有开发人员进行开发 因此为此 他们需要创建一个将分支与史诗分支分开 我的问题是我们如何合并这些

随机推荐

  • 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 但