为 Github Pages 绑定个人域名
2020-12-27 更新:域名到期后不再续期,目前使用频率比较低,暂时继续寄人篱下😂
一直用着免费的 Github Pages 搭载个人博客,突然想要一个自己的域名。个人域名的主要优点有:
- 方便记忆,也就更方便传播
- 使用别人的二级域名,总是寄人篱下,还是有个自己的一亩三分地比较好
然后就去为博客绑定了个人域名,下面讲述下主要流程。
主要流程如下:
- 选择一个域名提供商并购买域名
- 配置 DNS 信息
- 配置 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」,然后:
- 在 Domain Record 下添加一个 CNAME 指向你的 Github Pages 地址
username.github.io
- 在 Subdomain Records 下添加 Forward 301 记录,将 www 子域名重定向到
https://yourdomain.com
通常主域名是不建议使用 CNAME 跳转的,因为 DNS 规范中返回 CNAME 时,不允许和其他 Resource Record 一起返回,它可能会造成一些问题,详情可以参考这篇文章。但如果你又不想配置 A 记录(改变 IP 时不太方便),你可以使用 ALIAS
、ANAME
,不过 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 自定义域名官方文档: https://help.github.com/articles/using-a-custom-domain-with-github-pages/
- Dynadot - How do I create a CNAME? https://www.dynadot.com/community/help/question/create-CNAME
为 Github Pages 绑定个人域名