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

TRHX

2019-09-16

Hexo

字数统计:

1,363字

阅读时长≈

5分

> 部署到 Coding Pages 的好处：国内访问速度更快，可以提交百度收录（GitHub 禁止了百度的爬取）

> 部署到 Coding Pages 的坏处：就今年来说，Coding 不太稳定，随时有宕机的可能，群里的朋友已经经历过几次了，不过相信以后会越来越稳定的

> 部署过程中常见的问题：无法实现全站 HTTPS，Coding 申请 SSL 证书失败，浏览器可能会提示不是安全链接

> 本文前提：你已经将 Hexo 成功部署到了 GitHub Pages，如果还没有，请参考：《使用Github Pages和Hexo搭建自己的独立博客【超级详细的小白教程】》

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

# 1.创建项目

进入 Coding 官网，点击个人版登陆，没有账号就注册一个并登录，由于 Coding 已经被腾讯收购了，所以登录就会来到腾讯云开发者平台，点击创建项目

<fancybox>
</fancybox>

项目名称建议和你的用户名一致，这样做的好处是：到时候可以直接通过 `user_name.coding.me` 访问你的博客，如果项目名与用户名不一致，则需要通过 `user_name.coding.me/project_name` 才能访问，项目描述可以随便写

<fancybox>
</fancybox>

# 2.配置公钥

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

<fancybox>
</fancybox>

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

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

<fancybox>
</fancybox>

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

    1

    ssh -T git@git.coding.net

若出现以下提示，则证明配置成功：

    1
    2

    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 地址

<fancybox>
</fancybox> <fancybox>
</fancybox>

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

<fancybox>
</fancybox>

# 4.开启 Coding Pages

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

<fancybox>
</fancybox> <fancybox>
</fancybox>

# 5.绑定域名并开启 HPPTS

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

<fancybox>
</fancybox>

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

<fancybox>
</fancybox>

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

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

这里也建议同时绑定有 www 前缀和没有 www 前缀的，如果要绑定没有 www 前缀的，首先要去域名 DNS 添加一个 `A` 记录，主机记录为 `@`，记录值为你博客 IP 地址，IP 地址可以在 cmd 命令行 ping 一下得到，然后在 Coding Pages 中设置其中一个为【首选】，另一个设置【跳转至首选】，这样不管用户是否输入 www 前缀都会跳到有 www 前缀的了

在博客资源引用的时候也要注意所有资源的 URL 必须是以 https:// 开头，不然浏览器依旧会提示不安全！

<fancybox>
</fancybox> <fancybox>
</fancybox>

至此，我们的 Hexo 博客就成功双线部署到 Coding Pages 和 GitHub Pages 了，并且也实现了全站 HPPTS，最后来一张 GitHub Pages 和 Coding Pages 在国内的速度对比图，可以明显看到速度的提升

<fancybox>
</fancybox>

您的喜欢是作者写作最大的动力！❤️

- PayPal
- AliPay
- WeChatPay
- QQPay

Donate

最后更新于 2019年12月29日

Hexo

Coding Pages

GitHub Pages

###### 上一页

#### Hexo 博客提交百度、谷歌搜索引擎收录

###### Hexo SEO

###### 下一页

#### Python3 爬虫学习笔记 C16

###### 爬虫 Redis

#### 评论

## ๑۩ﺴ TRHX ﺴ۩๑

本文目录
站内导航

- 所有文章
- 文章归档
- RSS订阅
- 我的友链
- 留言板
- 关于博主

欢迎光临
访客地图
交流群组

QQ 交流群 Telegram 交流群

文章分类

- BLOG
  (4)
- CDN
  (1)
- Hexo
  (9)
- Java
  (1)
- Linux
  (2)
- Markdown
  (2)
- Python3 学习笔记
  (39)
- 基础学习
  (9)
- 学习经验
  (4)
- 爬虫学习
  (18)
- 爬虫实战
  (8)
- VPS
  (1)
- WEB前端
  (2)
- 图床
  (1)

热门标签
12306 58同城 Ajax BLOG Beautiful Soup CDN Coding Pages Deepin Elicpse GitHub Pages Github Github Pages HTTPS Hexo ICP备案 JDBC JS 预加载 Markdown Material X MongoDB MySQL PEP8 PicGo Pygame Python Redis SEO SQL Server 2012 SSR Selenium Ubuntu User-Agent VMware VPS XPath if语句 input()函数 instant.page jsDelivr lxml pyspider requests spfk urllib while循环 主题个性化 代理 公安备案 函数 列表 变量 哔哩哔哩 图床 图形验证码 垃圾 备份 字典 安居客 年终总结 异常 技巧 操作列表 数据类型 文件 文件储存 无界面浏览器 模块 正则表达式 滑动验证码 点触验证码 爬虫 猫眼电影 瓜子二手车 类 继承 编辑器 虎扑论坛 豆瓣电影
最近在听