用Github和Coding双线绑定自定义域名

本来博客已经搭建好了,可是总觉得用Github一个二级域名怪怪的,非要折腾自己来绑定自己的域名,并申请SSL(就是喜欢看那个小绿锁!)前前后后花了不少时间,走了不少弯路,将踩过的坑记录下来。

原文发布于个人博客(好望角),那里有更好的阅读体验。


域名设计原则

域名的设置应该根据什么原则呢?参考域名价值评估,我们可以根据如下因素来

域名的长短:1位:10万,2位:5万,3位:1万,4位:5000,5位以上1000,6位以上500
域名的组成结构:纯字母的*2,数字与字母杂的*1,中划线/3
域名的组合方式:单词*3,纯数及单词组合*2,拼音及其它*1
域名的形式分类:行业词*3,通用词*2,创单词*1
域名的商业价值:搜索数量:1000以下/3,1000到1万/2,1万到10万*1,10万到100万*2,100万*3,100万以后搜索数量多一个0就*3的倍数,百度以100万,google以300万为参数。
域名的后缀:com结尾的大于net,net结尾的大约cn的,cn结尾的大于http://com.cn(org、gov排除例外一般不属于商业险域名),http://com.cn大于其他尾缀域名
域名的历史记录:自己衡量。
域名记忆性标准:跟实际生活中某些词汇重叠,跟语言、语音发声重叠适用性较强
域名的合法性标准:域名是否符合法律,是否涉及到知识产品争议方面。
域名的潜在商业价值:域名所涉及的行业规模及互联网的相关性。

域名服务商选择

心中构思好了自己的域名后,就可以着手选择一个靠谱的域名购买商。如果懒得备案,那就将我们的目光锁定在国外。
参考分析域名购买商2018最佳国外域名注册商,不需要备案这两篇文章,我将目光初步锁定在namesilo和namecheap两家口碑较好、服务稳定、价格尚可的服务商身上。

这里有两个网站来查询你所想好的域名目前的状况,以及价格对比。
查域名是否被注册(中文站)domcomp——国外多家域名购买网站的价格对比
如果准备购买,从domcomp内点击对应的域名服务商还有额外的优惠。

我最终选择的是Namesilo,因为更便宜……口碑也还不错。namesilo传送门 Namesilo还免费提供隐私服务(即不公开域名持有者的信息)。对了, Namesilo 支持支付宝付款。
从传送门进去,注册新用户,选好合适的域名后填入下面两个优惠码其中任意一个都可以优惠一美元。(截止日期:2020年12月31日)

<div class="note success"><p>NameSilo 新用户购物优惠码一 <span id='inline-blue'>imbowei</span>

 NameSilo 新用户购物优惠码二 <span id='inline-blue'>miaomiao</span>  </p></div>

域名购买及配置

namesilo购买域名之前记得填写优惠码,并且提交(提交按钮一直都是灰色的!),提交后可以便宜一美元。


namesilo购买域名

经过以上步骤,就可以最终购买域名了。

购买得到域名,要紧接着配置。新域名默认有四条停靠的广告记录,不要犹豫,直接全部删除!

Namesilo需要删除的默认配置

然后我选用了DNSpod的域名解析服务。中文网站,简单易懂。它有两个默认的解析记录,我们直接添加到namesilo购买的域名中,如下图所示。(注意:不需要第三条记录。)
这样就可以放心关闭Namesilo的网站了。
namesilo第三方服务器设置

Coding配置

如果Coding和GitHub的用户名和注册邮箱完全一样,就不用再次配置Git,只要找到.ssh文件夹下对应的id_ras.pub文件,再去coding以相同的方式设置一次公钥即可。

如果用户名或者注册邮箱并不是完全一致,那么按照如下步骤在进行一遍配置。
注意,需要先将配置GitHub时候生成的公钥密钥文件备份,或者生成Coding配置的时候改掉生成的文件名。

  • git config --global user.name "onlychristmas" 设置Coding用户名
  • git config --global user.email "onlychristmas@hh.com"设置注册Coding邮箱
  • ssh-keygen -t rsa 在bash中执行命令,连着三个回车(不需要密码)。
  • 生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。生成文件目录`C:/用户/你的用户名/

输入 ssh -T git@coding.net 如果出现如下字样不要慌张,因为可能是本地网络禁止了22端口,我们换个端口就好。

ssh: connect to host coding.net port 22: Connection refused

再次输入 ssh -T -p 443 git@git-ssh.coding.net 出现如下字样,说明配置coding成功。

The authenticity of host …………………
Coding 提示: Hello OnlyChristmas, You've connected to Coding.net via SSH. This is a personal key.
OnlyChristmas,你好,你已经通过 SSH 协议认证 Coding.net 服务,这是一个个人公钥

将博客托管到Coding和GitHub

首先,在本地博客根目录/source/下建立一个名为 CNAME的文件,里面写填入你购买的域名。例如imbowei.com, 不需要任何的其他字符,例如“www”,"https"之类。

在本地博客文件夹下的srouce文件夹下新建<span id='inline-green'>Staticfile</span>文件,接下来就可以同时向coding和GitHub上传博客了。

向coding提交代码遇到了如下问题怎么办?

remote: Coding 提示: Authentication failed! 认证失败,请确认您输入了正确的账号密码

我是因为配置出现了问题,改成如下样式,即可同时上传github和coding

deploy:
  type: git
  repo:
    github: https://github.com/OnlyChristmas/OnlyChristmas.github.io.git
    coding: git@git.coding.net:OnlyChristmas/OnlyChristmas.git
  branch: master

代码上传之后,在coding项目的代码/pages 服务中选取master分支,开启静态pages服务,即可访问coding的主页了。

Github and Coding 双线部署并申请SSL

现在Coding pages和Github pages 已经都可以使用了。
那么我们现在要做的就是设置他们同时解析到我们刚才购买的域名imbowei.com,实现双线访问。
这里的坑比较多。
首先要在DNSpod先设置解析Coding,并且在Coding项目的pages界面申请SSL证书。申请配置如下图所示。
否则Let's Encrypt主机根据域名解析记录验证域名所有权时,会定位到GitHub Page的主机上,导致Let's EncryptSSL证书申请失败。

Coding pages SSL 申请成功

然后在DNSpod再配置Github pages的解析,并在Github博客项目的设置中绑定主页。

然而,Github pages 出现了如下的错误信息,

Domain's DNS record could not be retrieved.
不要着急,这是因为github pages的自定义HTTPS请求没有配置成功(2018年5月1日新推出的良心服务),在刚才的DNSpod中添加一条A记录即可,其中IP指向在下面的地址中任选其一即可(一项不行,就换另外一个)

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153

Gituhb pages的配置成功界面如下所示。


Gituhb pages SSL配置成功

最终的DNSpod解析配置如下图所示。


DNSpod 配置

去除Coding的广告……

配置好之后很开心,然而发现,Coding会自动给你的博客加一个滞留好几秒钟的跳转页面,感觉非常非常的不好。
还好除了升级为它的黄金会员之外还有其他解决方法。

只要在博客主页为它打一点点广告就好了(要两个工作日才会通过!)……毕竟托管在上面还是很方便的。

<div>Hosted by <a href="https://pages.coding.me" style="font-weight: bold">Coding Pages</a>
</div>

对于Next主题来说,在themes/next/layout/_partials/footer.swig的文件末尾加入上述代码就可以把Coding要求的小广告加入到主页的页脚位置。

但是Coding这种强制要求真的很烦人,一点互联网精神都没有!货比货,感觉Coding距离Github还差几个光年吧。
既然打广告,也顺便带上良心的Github吧!

资源配置

现在部署好了HTTPS,那为什么还是没有出现小绿锁?刷新页面出现的小绿锁一闪而过,让我们空欢喜一场!
因为网站没有全站HTTPS,也就是说,我们引用了http的资源,要将对应资源全部换成HTTPS才能出现小绿锁。

怎么知道自己什么还没有换成HTTPS资源?很简单,F12打开调式界面就可以发现警告信息。
例如我的站点就是因为加载了一个自定义的鼠标图片,如鼠标图片引用了HTTP的资源,将该段代码注释掉,或者换一个HTTPS的资源连接即可。

然后,就有心心念的小绿锁了!

另外由于主页地址的改变,我还更新了如下资源配置:

  • gitment评论系统的Authorization callback URL主页设置为自定义域名。
  • SEO相关设置
  • 在<span id="inline-blue"> 站点配置文件 </span>中更改默认站点,使得文档末尾的copyright链接生成正确。
  • 还在阿里云申请了一个为期一年的SSL免费证书,用于一些资源网站的验证使用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容