为 Github Pages 绑定个人域名

2020-12-27 更新:域名到期后不再续期,目前使用频率比较低,暂时继续寄人篱下😂

一直用着免费的 Github Pages 搭载个人博客,突然想要一个自己的域名。个人域名的主要优点有:

  • 方便记忆,也就更方便传播
  • 使用别人的二级域名,总是寄人篱下,还是有个自己的一亩三分地比较好

然后就去为博客绑定了个人域名,下面讲述下主要流程。

主要流程如下:

  1. 选择一个域名提供商并购买域名
  2. 配置 DNS 信息
  3. 配置 Github Pages CNAME 信息

购买域名

可以选择国内或国外的域名提供商来购买域名,国内通常需要个人实名备案,下面是一些常用的域名商:

  • 国内的域名商:阿里云、腾讯云
  • 国外的域名商:Godaddy、Dynadot

我选择使用 Dynadot 作为我的域名提供商,在主页搜索你想要的域名,如果还没有被他人注册,选择购买即可。

配置 DNS

为你的域名配置 DNS 信息。配置域名 DNS 时,有很多种配置方式,我期望的效果是:

  • 使用主域名作为主要的网站地址
  • www 的子域名重定向到主域名,即访问 www 子域名时,跳转到主域名(浏览器地址中展示主域名)
  • 强行跳转到 HTTPS 域名

以 Dynadot 为例,选择「My Account - My Domains - Manage Domains - Select your domain - DNS Settings - Custom DNS」,然后:

  1. 在 Domain Record 下添加一个 CNAME 指向你的 Github Pages 地址 username.github.io
  2. 在 Subdomain Records 下添加 Forward 301 记录,将 www 子域名重定向到 https://yourdomain.com

通常主域名是不建议使用 CNAME 跳转的,因为 DNS 规范中返回 CNAME 时,不允许和其他 Resource Record 一起返回,它可能会造成一些问题,详情可以参考这篇文章。但如果你又不想配置 A 记录(改变 IP 时不太方便),你可以使用 ALIASANAME,不过 Dynadot 只支持 CNAME 或者 A 记录,所以我还是选择了配置 CNAME。

配置 Github Pages

完成 DNS 的配置后,还需要在你的 Github Pages Repo 中增加一个 CNAME 文件,文件的内容为你使用的域名地址(不要 http 前缀),只能添加一条。例如可以配置为:

1
yourdomain.com

Github 会根据你配置的 CNAME,自动为你做 www 子域名的重定向,你也可以使用 DNS 配置的重定向。

感谢 Let’s Encrypt 让我们能够用上开源免费的 HTTPS 证书,Github Pages 也默认对它支持。简单的在 Repo 的「Settings - GitHub Pages - Enforce HTTPS」打钩开启,即可完成 HTTPS 的配置。

参考链接

为 Github Pages 绑定个人域名

https://xkniu.github.io/github-pages-custom-domain/

作者

KK

发布于

2019-01-17

更新于

2022-06-11

许可协议

评论