Hugo | 为Blog添加自定义域名

1913字

在哪儿买

一开始挑域名是跑去了著名的去你爸爸……咳,不是,是GoDaddy,当时是看中它有繁中,语言上没障碍,比较好浏览和比价,结果挑着挑着忽然发现,原来只有第一年有优惠,第二年价格飞速上涨……我大受震撼并且放弃了一些打算。

顺便:GoDaddy算是个什么名字啊!!!!

晨星:我去搜了它为啥叫GoDaddy,说是一开始是想致敬喜剧电影Big Daddy(冒牌老爹),但Big Daddy的名字被占了,所以……

最终是选了Dynadot,相比而言,网站内部自带中文(太好了我就不爱看英文),价格比较透明(明确列出首年和次年续费价格),支持以人民币显示价格,甚至可以用支付宝付款。

好!鼓掌!就它了!

一些象群朋友的推荐~

Domain Availability and Price

另一个比价网站

逛菜市场

不得不说,逛Dynadot的体验真的有点像逛菜市场。

一长串域名整整齐齐乖乖巧巧地罗列在那儿,身上贴好首年优惠价和次年续期价,不由自主地就会让人联想到新鲜,水灵,和超市折扣大减价。

而我尽看一些稀奇古怪的东西,比如:

.date,首年34,续费也是34,.dating,首年104,续费284。足以说明很多问题了,朋友们,千金难买正在进行时啊。

又比如:

.sexy,首年222,次年218,.porn和.sex都是588,甚至.adult也是588,怎么说呢,只好说人类真是一种直接的生物。

而日本人总是剑走偏锋的,.moe后面标着用途是日本粉丝网站,你说这刻板印象,上哪儿说理去。

挑挑选选到后来(.club好可爱,.life我也喜欢,.cafe超绝无敌可爱),在决赛轮征求了一下朋友们的意见

我:决赛轮,mantyke.cc还是mantyke.icu

我的H1:icu

我:我也喜欢,含义丰富,但是总觉得哪里怪怪。

我的H1:抢救你的心?

shioko:icu

shioko:你是学者。

域名商:icu也可以是I SEE YOU

完全被说服了。

好,那就icu了,现代人谁不需要一个便携icu呢?

设置域名

注册账号

注册账号的时候会索要很详细的资料包括手机号码什么的,手机号不会用来验证,shioko说可能快到期了会发个短信通知一下,地址随便填也可以,精确到省份似乎就OK,总之看上去很凶其实还蛮随意的

配置github

买好后打开博客的Github仓库,进入setting设置,点开倒数第二项Pages,在Custom domain处输入购买的域名,点save

回到github仓库,新建一个文件,标题写CNAME,里面写上域名,不需要加https://,只需要填后面的部分。

开始菜单点击运行,输入cmd,打开cmd,在命令行窗口里输入ping “你的blog地址”,这里注意是之前的Blog地址,比如xxx.github.io,把网站IP记下来。

打开Dynadot域名设置,找到DNS设置,打开,在域名设置部分填写刚刚Ping出的IP地址,记录类型选A。保存后网页底部会跳出“自定义DNS已更改”,这就改好了。

做完上面几步之后理论上域名就设置好了,这个时候需要等一段时间的DNS缓存,Github会自动帮忙申请Https证书。我是过了四五分钟就可以用新的域名打开Blog了,可能视情况也有等的久的。

一些惊慌失措

刚刚配置好的域名,很可能会在浏览器上显示警告“不安全”,我猜是由于Https证书还没到位,稍等一段时间就可以。需要的话可以在Github仓库的page页勾选最下面的Enforce HTTPS

我还碰见了刚申请完的半个小时域名一直无法使用Https,只能用http打开的情况,也是等一等就好了,非常神秘。

github page可能会显示一条黄色警告

www.站点域名 is improperly configured
Domain's DNS record could not be retrieved. For more information, see Learn more (InvalidDNSError). We recommend you change this to a CNAME record pointing to 站点名称.github.io

这时候可以把Dynadot域名设置里的DNS设置换一下,改成“站点名称.github.io”,类型选择CNAME,注意CNAME类型不能与A类型共存,两者只能有一个。

shioko:A对应IP,cname对应跳转域名

虽然我感觉好像不管也没什么问题……

善后工作

配置完自定义域名后Blog本地仓库推送到远程仓库就出现了一点问题,输入git push -u origin master时显示

应该是由于Github仓库多了一个CNAME文件,和本地库不同步导致的。读了读【狀況題】怎麼有時候推不上去…找到了解决方案,我用了先拉后推的选项,先输入

git pull --rebase

這裡加了 --rebase 參數是表示「內容抓下來之後請使用 Rebase 方式合併」,當然你想用一般的合併方式也沒問題。

然后再用git push -u origin master推送。

另外一个问题是采用原来的推送部署方法就会一直多需要这一步,挺麻烦的,我的解决方案是不再删除Public文件夹下的文件,用Hugo构建网站后直接推送,就能够解决了。