【教程】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
https://i-blog.csdnimg.cn/direct/8c550d7fb6f249889846fb847d65c628.png
第三步,在左侧栏找到 code,planning,and automation,并点击其中的 Pages选项
第四步,在右侧输入要验证的域名(如 aiproducthome.top),并点击 Add domain按钮
https://i-blog.csdnimg.cn/direct/1316cd970bbd4368bde7182d52c3555f.png
然后你会获得如下的记载,并继续按照该记载所示的步调进行验证
https://i-blog.csdnimg.cn/direct/537aa40641384f12a153dd17a05c0682.png
接记载所需验证步调,第五步,进入你购买域名网站,并进入你的域名的管理界面,虽然不同的域名服务提供商相关的界面不同,但大要它们的组成是相同。
这里以 GoDaddy 为例,进入到我的域名的 DNS 管理界面,并选择添加新的 DNS 记载(DNS records)。
https://i-blog.csdnimg.cn/direct/a19da9bd1f544346a92f81f7c4224eaa.png
在记载中,Type 选择为 TXT 范例(更多范例,参考“记载范例”末节),Name 为第四步中的 hostname,即 _github-pages 开头的内容,Value 是第四步中的 code,它是一串数字和英文组成的字符串。而 TTL 值选择默认即可。
最后点击 Save按钮。https://i-blog.csdnimg.cn/direct/ef4ba2ce14534f1586bcb308f36f1f40.png
当上述内容配置好后,返回第四步的验证页面,点击 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
https://i-blog.csdnimg.cn/direct/7db7cb7a97734c2582e4483e2a899d4d.png
第二步,将子域名指向 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按钮。
https://i-blog.csdnimg.cn/direct/4e7232afae424245b58f4f28a76e00b8.png
到此,在域名服务商部分必要进行的 DNS 配置就完成了,上述内容必要花费一点时间在网络的各个 DNS 服务器上进行传播,接着我们回到 Github 进行相应的配置。
第三步,进入你的堆栈界面,并点击上方的 Settings按钮。在左侧栏的 Code and automation 部分,点击 Pages 选项,在右侧的栏目中,将你的顶级域名(例如 aiproducthome.top)填写进去并点击Save按钮。
Github Page 将花费一点时间完成对 DNS 配置的检查。
https://i-blog.csdnimg.cn/direct/bff1993d72994d179a33adbda0728b15.png
回到同一页面的最上方,你会发现 Your site is live at 后面的部分变成了你的自定义域名。
https://i-blog.csdnimg.cn/direct/238de933bd7e421faa45656205306e2b.png
至此,所有的使命就完成了,你可以通过顶级域名,子域名(www)或者之前的 github.io 的域名来访问,所有的内容都会跳转到自定义域名上。
记载范例
在前述的步调中,我们在对域名的 DNS 配置中使用到了多种记载范例,这里简单论述一下不同记载范例的作用。
范例作用A(Address Record)将域名映射到 IPv4 地点,例如,将 www.example.com 映射到 192.168.1.1AAAA(IPv6 Address Record)将域名映射到 IPv6 地点CNAME(Canonical Name Record)域名别名映射到域名,例如,将 eternaldeath.github.io 映射到 aiproducthome.top 注意点
特别注意的是,由于你配置了新的域名,那么部分静态网站大概在加载资源的时候会找不到资源。例如,我使用 hexo 摆设了静态网站,在_config.yml中配置的是默认的域名(即 github.io),因此为了重新加载资源,你必要配置成你如今的域名。详细可以借鉴我的这篇博客《【教程】hexo 更换主题后,摆设在 Github Page 无 CSS 样式》。
参考
[*]Configure a custom domain
[*]DNS record types【Cloudflare】
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]