Github+Coding国内外博客双线部署并支持全站https

一、简言

从网上搜索的结果来看,很多人都认为github博客在国内的seo情况不太好,不被百度爬虫所青睐。一个比较好的方案是,同时将hexo博客部署到github和Coding上。所以我也想试一下,顺便了解一下Coding这个代码托管平台。本文将全面讲述如何成功双线部署到 Coding Pages 和 GitHub Pages 并实现全站 HPPTS,同时解决一些常见的问题!

Github Pages方法

请访问此篇文章有具体的Windows下使用Github Pages+Hexo搭建博客教程

Coding pages方法

注册Coding

1.这里我们要注意coding被腾讯收购了,所以这里我们进入腾讯云开发者平台

2.coding地址,直接进入注册

https://dev.tencent.com/user

3.注册好之后我们新建项目,点击加号新建

4.这里填写项目名称记得要和用户名一致,下面两个红框勾选

配置公钥

配置 SSH 公钥方法与 GitHub Pages 的方式差不多,点击你的头像,依次选择【个人设置】-【SSH公钥】-【新增公钥】

前面部署到 GitHub Pages 的时候就已经有了一对公钥,我们直接将该公钥粘贴进去就行,公钥名称可以随便写,选中永久有效选项

PS:公钥储存位置一般在 C:\Users\用户名.ssh 目录下的 id_rsa.pub 文件里,用记事本打开复制其内容即可

加公钥后,我们可以右键 Get Bash,输入以下命令来检查是否配置成功:

ssh -T git@git.coding.net

若出现以下提示,则证明配置成功:

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

配置 _config.yml

进入你的项目,在右下角有选择连接方式,选择 SSH 方式(HTTPS 方式也可以,但是这种方式有时候可能连接不上,SSH 连接不容易出问题),一键复制,然后打开你本地博客根目录的 _config.yml 文件,找到 deploy 关键字,添加 coding 地址:

 

coding: git@git.dev.tencent.com:user_name/user_name.git
coding: git@git.coding.net:liuxiangyang/liuxiangyang.coding.me.git

两种写法都可以


这里因为我是双线部署,所以是按照上面的写法。

添加完成后先执行命令 hexo clean 清理一下缓存,然后执行命令 hexo g -d 将博客双线部署到 Coding Pages 和 GitHub Pages,如下图所示表示部署成功:

开启Coding Pages

进入你的项目,在代码栏下选择 Pages 服务,一键开启 Coding Pages,等待几秒后刷新网页即可看到已经开启的 Coding Pages,到目前为止,你就可以通过 xxxx.coding.me(比如我的是 trhx.coding.me)访问你的 Coding Pages 页面了


绑定域名并开启 HPPTS

首先在你的域名 DNS 设置中添加一条 CNAME 记录指向 xxxx.coding.me,解析路线选择默认,将 GitHub 的解析路线改为境外,这样境外访问就会走 GitHub,境内就会走 Coding,也有人说阿里云是智能解析,自动分配路线,如果解析路线都是默认,境外访问同样会智能选择走 GitHub,境内走 Coding,我没有验证过,有兴趣的可以试一下,下面是我的解析

然后点击静态 Pages 应用右上角的设置,进入设置页面,这里要注意,如果你之前已经部署到了 GitHub Pages 并开启了 HTTPS,那么直接在设置页面绑定你自己的域名,SSL/TLS 安全证书就会显示申请错误,如下图所示,没有申请到 SSL 证书,当你访问你的网站时,浏览器就会提示不是安全连接

申请错误原因是:在验证域名所有权时会定位到 Github Pages 的主机上导致 SSL 证书申请失败

正确的做法是:先去域名 DNS 把 GitHub 的解析暂停掉,然后再重新申请 SSL 证书,大约十秒左右就能申请成功,然后开启强制 HTTPS 访问

这里也建议同时绑定有 www 前缀和没有 www 前缀的,然后在域名 DNS 添加一个 CNAME 或者 A 记录,记录值为 @,这样不管用户是否输入 www 前缀都可以访问了

在博客资源引用的时候也要注意所有资源的 URL 必须是以 https:// 开头,不然浏览器依旧会提示不安全!
至此,我们的 Hexo 博客就成功双线部署到 Coding Pages 和 GitHub Pages 了,并且也实现了全站 HPPTS,最后来一张 GitHub Pages 和 Coding Pages 在国内的速度对比图,可以明显看到速度的提升。


 

  1. tobyglei说道:

    国内的话,可以试一下21云盒子,比你这个简单很多, 更重要的是配有国内的CDN.

发表评论

电子邮件地址不会被公开。必填项已用 * 标注