本文最初发布于我的个人博客Bambrow's Blog,采用 BY-NC-SA 许可协议,转载请注明出处。若有后续更新,将更新于原博客。欢迎去我的博客阅读更多文章!
本文详细记录一下本站的建立过程,以便查阅。对于具体的细节则不会做过多解释,主要展示步骤。这一篇主要讲述购买及绑定域名的相关操作。
购买域名
现在我们的站点已经有模有样了,那就可以准备为它绑定一个域名了。首先第一步就是购买域名。国内国外都有众多域名服务商,本着少受一些限制的原则,推荐从国外几个知名的服务商购买。在网上可以搜到许多域名商的介绍与购买指南,这里就不赘述了。
如果实在选择困难,可以去这里比较一下各家的价格。很多域名商首年或者首次转移都有优惠,如果不想每年都折腾,一定要记得对比一下续费价格,以及有没有隐藏费用。另外最好选择有WHOIS隐私保护的域名商,以及在付费的时候不要错选成那些乱七八糟的套餐,只买域名即可。
绑定域名并添加CNAME
这一步主要参考了两篇文章,分别讲了使用[1]和不使用[2]DNSPod的情况,你可以视情况而定。我这里参考的是第二篇,也就是GitHub官方的指南。
首先去你的GitHub用户名.github.io
仓库中,点击Settings,在GitHub Pages的Custom domain下输入你买好的域名,点击Save保存。
此时你会发现下面的Enforce HTTPS被取消勾选,为了将其再次选中,需要以下的步骤。
首先配置CNAME
,在source
文件夹下建立一个新文件叫做CNAME
(不要带任何后缀),将你买好的域名输入进去。随后向GitHub提交这次修改。
随后,打开你的域名商网站,为你的域名配置DNS。不同的域名商可能有不太一样的步骤,你可以搜索你的域名商 + connect to github pages
来找到教程。在一般情况下,你需要设置4个A记录与1个CNAME记录,A记录指向下面四个IP地址:
- 185.199.108.153
- 185.199.109.153
- 185.199.110.153
- 185.199.111.153
CNAME记录则设置为www CNAME 你的GitHub用户名.github.io
。详情可以参看教程里的设置apex域部分。
随后刷新GitHub的设置页,看是否可以点选Enforce HTTPS。有时候需要等一段时间才可以。你也可以在Terminal测试一下DNS是否配置正确(可能也需要等一段时间才会生效):
$ dig bambrow.com +noall +answer
; <<>> DiG 9.10.6 <<>> bambrow.com +noall +answer
;; global options: +cmd
bambrow.com. 194 IN A 185.199.109.153
bambrow.com. 194 IN A 185.199.111.153
bambrow.com. 194 IN A 185.199.110.153
bambrow.com. 194 IN A 185.199.108.153
也可以在dig
命令的域名前加上www
看一下CNAME记录是否生效:
$ dig www.bambrow.com +noall +answer
; <<>> DiG 9.10.6 <<>> www.bambrow.com +noall +answer
;; global options: +cmd
www.bambrow.com. 299 IN CNAME bambrow.github.io.
bambrow.github.io. 3599 IN A 185.199.109.153
bambrow.github.io. 3599 IN A 185.199.108.153
bambrow.github.io. 3599 IN A 185.199.111.153
bambrow.github.io. 3599 IN A 185.199.110.153
其他设置
把_config.yml
的url
修改为你的新域名。如果你配置了LeanCloud,在应用中点击设置,点击安全中心,在Web安全域名把你的新域名加进去。现在基本上就大功告成了!