【教程】Github Page 添加自定义域名

目录

  • 前言
  • 购买域名
  • 验证自定义域名
  • 映射自定义域名
  • 记录类型
  • 注意点
  • 参考

前言

Github Page 是 Github 提供的一个可以从 Github 仓库上托管静态网站的功能服务。默认当你建立起一个仓库后,在对应会有一个可供浏览的静态网站,例如 https://eternaldeath.github.io/BlockchainHome/,其中,eternaldeath 是我的 Github 账户名字,BlockchainHome 是我的某个仓库名字。

然而很多时候我们希望能够使用自己的域名来替代默认的域名,以体现出自身网站的风格,而 Github Page 也提供了这种域名映射的能力,可以将自定义域名更换为自己的域名。

虽然 Github Doc 提供了指导文档,但该文档书写的不够友好,不适合新人阅读。

购买域名

购买域名一般分为两种情况,一种是希望国内能够访问的一种是国外能够访问的。国内的域名购买和使用比较麻烦,因为需要进行备案等认证操作,通常需要好几天的时间,而国外的主流域名服务提供商不需要备案,购买和部署流程只需要几个小时即可完成。

同时,由于 Github Page 是托管在国外的服务器上,因此即使使用国内购买的域名也无法完成映射。

在本例中,我选择从 GoDaddy 上购买域名,你也可以选择各种主流的域名服务提供商进行购买,这里贴一些可提供支付宝支付的平台,如,GoDaddy,Dynadot,Porkbun,NameSilo 等。购买的时候也有注意事项,就是选择主流大平台进行购买

具体的购买细节就不在这里展示了。

验证自定义域名

Github 提供了验证自定义域名的功能,该功能可以防止恶意对手发起域名劫持一类的攻击。所以首先我们先完成对你的域名的验证。

第一步,在任意 Github 页面点击右上角头像
第二步,在弹出的下拉框中,点击 Settings
在这里插入图片描述
第三步,在左侧栏找到 code,planning,and automation,并点击其中的 Pages选项
第四步,在右侧输入要验证的域名(如 aiproducthome.top),并点击 Add domain按钮
在这里插入图片描述
然后你会获得如下的记录,并继续按照该记录所示的步骤进行验证
在这里插入图片描述

接记录所需验证步骤,第五步,进入你购买域名网站,并进入你的域名的管理界面,虽然不同的域名服务提供商相关的界面不同,但大体它们的组成是相同。

这里以 GoDaddy 为例,进入到我的域名的 DNS 管理界面,并选择添加新的 DNS 记录(DNS records)。
在这里插入图片描述

在记录中,Type 选择为 TXT 类型(更多类型,参考“记录类型”小节),Name 为第四步中的 hostname,即 _github-pages 开头的内容,Value 是第四步中的 code,它是一串数字和英文组成的字符串。而 TTL 值选择默认即可。

最后点击 Save按钮。
当上述内容配置好后,返回第四步的验证页面,点击 Verify按钮。虽然理论上说的是需要 24 小时才可能验证成功,实际上不出意外,进需要几分钟即可完成验证。

映射自定义域名

第一步,还是在你的域名服务提供商的管理网页中,配置 A 记录类型,该类型用于将域名(例如,aiproducthome.top)指向 IP 地址。

还是点击 Add New Record。然后在弹出的配置框中进行配置,其中 Type 选择 A,Name 填写 @,Value 填写四个由 Github 提供的 IP 地址(这四个 IP 地址大家都一样,具体见 Github 官方文档),如下所示。TTL 默认,最后点击 Save按钮。

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

在这里插入图片描述
第二步,将子域名指向 IP 地址。

这里简单介绍一下 apex 域名和子域名,例如 aiproducthome.top 是 apex 域名,apex 就是顶级的意思,也就是顶级域名。而 www.aiproducthome.top 或 blog.aiproducthome.top 都被成为子域名,它们都属于 aiproducthome.top 域下的。

在第一步中我们其实配置的就是 apex 域名,而下面我们可以配置一些子域名,例如常见的 www 域名。

方法类似,同样是点击 Add New Record,然后 Type 选择 CNAME(含义见记录类型小节),Name 填写 www,Value 填写 <username>.github.io,TTL 默认即可。最后Save按钮。
在这里插入图片描述
到此,在域名服务商部分需要进行的 DNS 配置就完成了,上述内容需要花费一点时间在网络的各个 DNS 服务器上进行传播,接着我们回到 Github 进行相应的配置。

第三步,进入你的仓库界面,并点击上方的 Settings按钮。在左侧栏的 Code and automation 部分,点击 Pages 选项,在右侧的栏目中,将你的顶级域名(例如 aiproducthome.top)填写进去并点击Save按钮。

Github Page 将花费一点时间完成对 DNS 配置的检查。
在这里插入图片描述
回到同一页面的最上方,你会发现 Your site is live at 后面的部分变成了你的自定义域名。
在这里插入图片描述
至此,所有的任务就完成了,你可以通过顶级域名,子域名(www)或者之前的 github.io 的域名来访问,所有的内容都会跳转到自定义域名上。

记录类型

在前述的步骤中,我们在对域名的 DNS 配置中使用到了多种记录类型,这里简单阐述一下不同记录类型的作用。

类型作用
A(Address Record)将域名映射到 IPv4 地址,例如,将 www.example.com 映射到 192.168.1.1
AAAA(IPv6 Address Record)将域名映射到 IPv6 地址
CNAME(Canonical Name Record)域名别名映射到域名,例如,将 eternaldeath.github.io 映射到 aiproducthome.top

注意点

特别注意的是,由于你配置了新的域名,那么部分静态网站可能在加载资源的时候会找不到资源。例如,我使用 hexo 部署了静态网站,在_config.yml中配置的是默认的域名(即 github.io),因此为了重新加载资源,你需要配置成你现在的域名。具体可以借鉴我的这篇博客《【教程】hexo 更换主题后,部署在 Github Page 无 CSS 样式》。

参考

  1. Configure a custom domain

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/788021.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【动态规划Ⅵ】背包问题 /// 组合问题

背包问题 什么是背包问题0-1背包问题分数背包完全背包问题重复背包问题 背包问题例题416. 分割等和子集474. 一和零 完全平方数279. 完全平方数322. 零钱兑换 排列与组合组合&#xff0c;无重复&#xff1a;518. 零钱兑换 II排列&#xff0c;可重复&#xff1a;377. 组合总和 Ⅳ…

MySQL架构优化及SQL优化

变更项目的整体架构是性能收益最大的方式。主要涉及两方面&#xff0c;一方面是从整个项目角度&#xff0c;引入一些中间件优化整体性能&#xff0c;另一方面是调整MySQL的部署架构&#xff0c;确保能承载更大的流量访问&#xff0c;提高数据层的整体吞吐。 1. 引入缓存中间件…

语义分割和实例分割区别?

语义分割&#xff1a;将图像中的每个像素分配给其对应的语义类别&#xff0c;其主要针对于像素&#xff0c;或者说它是像素级别的图像分割方法。&#xff1a;语义分割的目的是为了从像素级别理解图像的内容&#xff0c;并为图像中的每个像素分配一个对象类。 实例分割&#xf…

泛微E9开发 控制Radio框字段打印是否仅显示选中项文字

控制Radio框字段打印是否仅显示选中项文字 1、需求说明2、实现方法3、扩展知识点控制Radio框字段打印是否仅显示选中项文字格式参数说明样例 1、需求说明 当我们对单选框进行打印时&#xff0c;往往会把所有的选项一起打印出来&#xff08;如下图所示&#xff09;&#xff0c;现…

【1】A-Frame整体介绍

1.A-Frame是什么&#xff1f; A-Frame 是一个用于构建虚拟现实 (VR) 体验的 Web 框架。 A-Frame 基于 HTML 之上&#xff0c;因此上手简单。但 A-Frame 不仅仅是 3D 场景图或标记语言&#xff1b;它还是一种标记语言。其核心是一个强大的实体组件框架&#xff0c;为 Three.js …

昇思MindSpore学习入门-模型模块自定义

基础用法示例 神经网络模型由各种层(Layer)构成&#xff0c;MindSpore提供构造神经网络层的基础单元Cell&#xff0c;基于Cell进行神经网络封装。下面使用Cell构造经典模型AlexNet。 如图所示&#xff0c;AlexNet由5个卷积层与3个全连接层串联构成&#xff0c;我们使用mindspo…

秋招Java后端开发冲刺——并发篇2(ThreadLocal、Future接口)

本文对ThreadLocal类和Future接口进行了总结概括&#xff0c;包括ThreadLocal类的原理、内存泄露等问题&#xff0c;和Future接口的使用等问题。 一、ThreadLocal 1. 介绍 ThreadLocal&#xff08;线程局部变量&#xff09;是Java中的一个类&#xff0c;线程通过维护一个本地…

探索安卓四大组件:活动、服务、广播接收器和内容提供者

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Android ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 1. Activity&#xff08;活动&#xff09; 概述&#xff1a; 生命周期&#xff1a; 使用方法&#xff1a; 2. Service&…

简过网:2024年一级造价工程师正在报名中,看看你有报考资格吗?

计划报考2024一级造价工程师的小伙伴要注意了&#xff0c;现在一造报名正在启动中&#xff0c;想考试的小伙伴一定要看清楚这些报考条件和考试内容哦&#xff0c;今天&#xff0c;小编和大家一块来分享一下&#xff0c;希望对你有帮助。 几个简单的问题&#xff0c;让你彻底了解…

2024年信息系统项目管理师1批次上午客观题参考答案及解析(3)

51、探索各种选项&#xff0c;权衡包括时间与成本、质量与成本、风险与进度、进度与质量等多种因素&#xff0c;在整个过程中&#xff0c;舍弃无效或次优的替代方案&#xff0c;这种不确定性应对方法是()。 A&#xff0e;集合设计 B&#xff0e;坚韧性 C&#xff0e;多种结果…

alibabacloud学习笔记11

讲解什么是配置中心及使用前后的好处 讲解Nacos作为配置中心面板介绍 官方文档 Nacos config alibaba/spring-cloud-alibaba Wiki GitHub 加入依赖&#xff1a; 订单服务和视频服务也加上这个依赖。 讲解Nacos作为配置中心实战 订单服务添加配置。 我们注释掉之前的配置。 …

idea如何连接gitee仓库

1.先在idea上登录gitee账号 在gitee官网上生成令牌。 点击生成新令牌。 复制到idea上就行了。然后登陆成功。 2.连接gitee 把项目的https克隆到idea中就行了。

Joblib 是一个专注于高效计算和数据持久化的 Python 库

目录 01Joblib 是什么&#xff1f; 为什么选择 Joblib&#xff1f; 安装与配置 02Joblib 的基本用法 并行计算 数据持久化 03实战案例 项目简介 项目结构 依赖安装 应用代码 运行应用 …

javascript高级部分笔记

javascript高级部分 Function方法 与 函数式编程 call 语法&#xff1a;call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义&#xff1a;调用一个对象的一个方法&#xff0c;以另一个对象替换当前对象。 说明&#xff1a;call 方法可以用来代替另一个对象调用一个方法。cal…

RT2-使用NLP的方式去训练机器人控制器

目标 研究在网络数据上训练的视觉语言模型也可以直接结合到端到端的机器人控制中&#xff0c;提升泛化性以及获得突出的语义推理&#xff1b;使得单个的端到端训练模型可以同时学习从机器人观测到动作的映射&#xff0c;这个过程可以受益于基于网络上的语言和视觉语言数据的预训…

HumanoidBench——模拟仿人机器人算法有未来

概述 论文地址&#xff1a;https://arxiv.org/pdf/2403.10506 仿人机器人具有类似人类的外形&#xff0c;有望在各种环境和任务中为人类提供支持。然而&#xff0c;昂贵且易碎的硬件是这项研究面临的挑战。因此&#xff0c;本研究开发了使用先进模拟技术的 HumanoidBench。该基…

【工具分享】零零信安——攻击面管理平台

文章目录 00SEC-ASM™功能介绍功能演示 最近闲来无事&#xff0c;到处网上冲浪&#xff0c;无意间发现了长亭云图攻击面管理平台&#xff0c;无奈需要授权才能使用&#xff0c;于是就找到了平替&#xff1a;零零信安攻击面管理平台。 长亭云图攻击面管理平台&#xff1a;https:…

Spring Boot集成grpc快速入门demo

1.什么是GRPC&#xff1f; gRPC 是一个高性能、开源、通用的RPC框架&#xff0c;由Google推出&#xff0c;基于HTTP2协议标准设计开发&#xff0c;默认采用Protocol Buffers数据序列化协议&#xff0c;支持多种开发语言。gRPC提供了一种简单的方法来精确的定义服务&#xff0c…

Spark SQL中的正则表达式应用

正则表达式是一种强大的文本处理工具,在Spark SQL中也得到了广泛支持。本文将介绍Spark SQL中使用正则表达式的主要方法和常见场景。 目录 1. 正则表达式函数1.1 regexp_extract1.2 regexp_replace1.3 regexp_like 2. 在WHERE子句中使用正则表达式3. 在GROUP BY中使用正则表达…