XiaBee's Studio.

Git Page + Coding Page 实现负载均衡

字数统计: 1k阅读时长: 3 min
2021/11/02

问题描述

Github Page不能被搜索引擎收录

Github Page禁止了百度爬虫,导致百度无法收录我的博客;然后其他搜索引擎可能也是类似原因,均无法收录。而且曾经可以通过手动上传和sitemap的方式提交链接,现在连sitemap都读不到了……被迫转战其他平台:使用自定义域名

Github Page在国内访问速度较慢

github.io经常抽风,在国内访问不稳定,考虑增加一个国内的备份。

初步解决方案

  • 利用coding创建国内镜像
  • 搜索引擎收入coding内容
  • 利用可控域名,通过CNAME解析到不同域名中,通过DNS实现负载均衡
  • 为什么是coding
  • 因为gitee实在太慢了,性能堪忧;加上coding能白嫖六个月……

所以这期操作的前提是:你有一个自己可控的域名

Github Page

  • 直接利用原来的Github Page即可
  • 还没有Github Page的可以看这里

Coding

  • 创建一个项目
  • Hexo同步部署即可

注册账号

创建项目

  • Github操作几乎一毛一样,创建一个仓库就行

    image.png

添加SSH公钥

  • 添加个人SSH公钥
  • 添加项目SSH公钥:代码仓库->仓库设置->部署公钥(同时给该公钥写入权限)

image.png

注意:一定要添加项目SSH公钥,即使这俩一毛一样……否则会无法写入仓库。这个设计很奇怪,被迫设置两遍

  • 添加之后ssh -T git@e.coding.net试一下有没有读写权限:

image.png

设置托管

  • 持续部署- > 网站托管

  • 这里需要实名认证,不想实名认证的同学可以直接腾讯云登录(x)

  • 网站部署

image.png

稍微设置一下,之后部署成功的截图大概长这样:

image.png

此时点击访问按钮应该能访问网站,但是是404,因为你啥也没写。

设置自定义域名

我们的设计是让同一个域名指向两个不同的网址,让DNS服务器来判断走哪条路线最合适……所以需要一个自定义的域名——而且它原本的域名太长了,根部记不住(x)。

Coding自定义域名

image.png

这里需要在域名供应商那里添加一条解析,以验证你的域名;同时需要为你的域名绑定证书。

Github自定义域名

image.png

  • 注意:Github Page在自定义域名的时候会生成一个CNAME文件,为了避免我们每次更新是该文件被覆盖,需要在本地的source目录下同步创建一个CNAME,该文件内容为你刚刚填写的自定义域名。
  • 同时配置根目录_config.yml,防止CNAME被渲染成html文件
1
2
3
4
5
skip_render: 
- README.md
- CNAME
- html/*
# 这里我设置了自定义页面的目录html

image.png

CNAME存于source目录下,记录值为自定义域名blog.xiabee.cn

证书相关

我之前购买xiabee.cn的证书的时候,图便宜搞了个单域名的,现在不支持子域名证书,所以就必须重新配置证书。

本来是准备用OHTTPS搞个免费泛域名的,但是很多浏览器不认他的证书……导致我去腾讯云搞了一个新的证书(划掉)。

image.png

想白嫖的同学可以去OHTTPS或者letsencrypt上面看看。

有条件的话尽量选大公司的,很多免费的证书已经不被信任了……

设置Hexo

修改根目录下的_config.yml最后的deploy

1
2
3
4
5
6
deploy:
- type: git
repo:
github: git@github.com:xiabee/xiabee.github.io.git,main
coding: git@e.coding.net:xiabee/xiabee-blog/xiabee.coding.me.git
# 这里改成自己的项目地址即可

然后hexo g -d,渲染,提交。如果你的SSH公钥设置正确的话,应该是没有很大问题的。

image.png

设置域名解析

最后把自定义域名同时解析到两个记录值即可:

image.png

国内外访问测试

国内访问指向coding page

image.png

国外访问指向Github Page

image.png

此时我们的分布式站点已经配置好了(✌)

CATALOG
  1. 1. 问题描述
    1. 1.1. Github Page不能被搜索引擎收录
    2. 1.2. Github Page在国内访问速度较慢
    3. 1.3. 初步解决方案
  2. 2. Github Page
  3. 3. Coding
    1. 3.1. 注册账号
    2. 3.2. 创建项目
    3. 3.3. 添加SSH公钥
    4. 3.4. 设置托管
    5. 3.5. 设置自定义域名
    6. 3.6. Coding自定义域名
    7. 3.7. Github自定义域名
    8. 3.8. 证书相关
  4. 4. 设置Hexo
  5. 5. 设置域名解析
  6. 6. 国内外访问测试