Hexo 双线部署到 Coding Pages 和 GitHub Pages 并实现全站 HPPTS


部署到 Coding Pages 的好处:国内访问速度更快,能够提交百度收录(GitHub 禁止了百度的爬取)git

部署到 Coding Pages 的坏处:就今年来讲,Coding 不太稳定,随时有宕机的可能,群里的朋友已经经历过几回了,不过相信之后会愈来愈稳定的web

部署过程当中常见的问题:没法实现全站 HTTPS,Coding 申请 SSL 证书失败,浏览器可能会提示不是安全连接浏览器

本文前提:你已经将 Hexo 成功部署到了 GitHub Pages,若是尚未,请参考:《使用Github Pages和Hexo搭建本身的独立博客【超级详细的小白教程】》缓存

本文将全面讲述如何成功双线部署到 Coding Pages 和 GitHub Pages 并实现全站 HPPTS,同时解决一些常见的问题!安全



1.建立项目

进入 Coding 官网,点击我的版登录,没有帐号就注册一个并登陆,因为 Coding 已经被腾讯收购了,因此登陆就会来到腾讯云开发者平台,点击建立项目
01
项目名称建议和你的用户名一致,这样作的好处是:到时候能够直接经过 user_name.coding.me 访问你的博客,若是项目名与用户名不一致,则须要经过 user_name.coding.me/project_name 才能访问,项目描述能够随便写
02bash


2.配置公钥

配置 SSH 公钥方法与 GitHub Pages 的方式差很少,点击你的头像,依次选择【我的设置】-【SSH公钥】-【新增公钥】03hexo

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

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

04
添加公钥后,咱们能够右键 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 服务,这是一个我的公钥

3.配置 _config.yml

进入你的项目,在右下角有选择链接方式,选择 SSH 方式(HTTPS 方式也能够,可是这种方式有时候可能链接不上,SSH 链接不容易出问题),一键复制,而后打开你本地博客根目录的 _config.yml 文件,找到 deploy 关键字,添加 coding 地址:coding: git@git.dev.tencent.com:user_name/user_name.git,也就是刚刚复制的 SSH 地址
05
06
添加完成后先执行命令 hexo clean 清理一下缓存,而后执行命令 hexo g -d 将博客双线部署到 Coding Pages 和 GitHub Pages,以下图所示表示部署成功:
15

4.开启 Coding Pages

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

5.绑定域名并开启 HPPTS

首先在你的域名 DNS 设置中添加一条 CNAME 记录指向 xxxx.coding.me,解析路线选择默认,将 GitHub 的解析路线改成境外,这样境外访问就会走 GitHub,境内就会走 Coding,也有人说阿里云是智能解析,自动分配路线,若是解析路线都是默认,境外访问一样会智能选择走 GitHub,境内走 Coding,我没有验证过,有兴趣的能够本身试试,个人解析以下图所示:
09
而后点击静态 Pages 应用右上角的设置,进入设置页面,这里要注意,若是你以前已经部署到了 GitHub Pages 并开启了 HTTPS,那么直接在设置页面绑定你本身的域名,SSL/TLS 安全证书就会显示申请错误,以下图所示,没有申请到 SSL 证书,当你访问你的网站时,浏览器就会提示不是安全链接
10
申请错误缘由是:在验证域名全部权时会定位到 Github Pages 的主机上致使 SSL 证书申请失败

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

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

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

相关文章
相关标签/搜索