Github Pages博客域名如何设置HTTPS

最近更新博客,发现被糊了一堆广告,实在是不忍直视,就找了下如何给本站加上HTTPS的方案。

正文

背景介绍

本站是基于Github Pages服务搭建的静态博客,官网戳这里
如果是直接使用 username.github.io 这样的域名的话,是默认就支持了 HTTPS 的, 直接访问 https://username.github.io 即可,自定义域名就需要自己折腾一下了。

在寻找解决方案的过程中,认识了Netlify

什么是Netlify?
1、Netlify是一个现代网站自动化系统,其JAM架构代表了现代网站的发展趋势。所谓JAM,就是指基于客户端JavaScript、可重用API和预构建Markup标记语言的三者结合。
2、有了Netlify,我们只要在本机Git中写前端代码,然后推送它,网站就能完美地对外呈现,并且附送大量好功能:全球CDN、持续部署、一键HTTPS和更多…

简直要飞起的节奏。
下面介绍如何在Netlify上配置github pages博客的自定义域名。

  • 使用github注册Netlify账号
  • 新建站点
    新建站点0
    选择代码托管平台
    选中代码托管平台
    选择代码仓库
    选择代码仓库
    选择代码分支及构建命令
    选择代码分支及构建命令
  • 更改站点默认名称
    更改站点默认名称0
    更改站点默认名称1
    更改站点默认名称2

    保存成功后,到此可以通过https://username.netlify.com来访问,如 https://oulafen.netlify.com
    想使用自己的域名的话,还需以下步骤

  • 绑定域名
    绑定域名0
    绑定域名1

  • 添加域名解析
    添加域名解析

至此,大功告成

访问https://blog.oulafen.com是不是溜得飞起,哈哈,再也不怕被莫名劫持贴广告了。

补坑思考中的升华

除了使用netlify的方式外,还有没有其他的了呢?

先说下使用netlify这类方式遇到的问题

github page的子项目链接,默认是`主项目域名/项目名称`进行访问,比如,我的一个项目`h5_my_home`,想通过外链直接看效果的话,之前直接通过http://blog.oulafen.com/h5_my_home来访问。
现在改成https后,域名解析里找不到与username.github.io的对应关系,所以就不能通过原来的方式直接访问项目了。

细细查看了项目的设置后,发现个更简单的方式
可以直接单独设置项目的domain
设置domain

在域名解析里再加一条解析,就又大功告成了,^_^
添加域名解析1

无独有偶,还看到了 Enforce HTTPS 的设置项,选中后,访问https的链接也是完美很。(需要添加域名24小时后才能选中)

还有个小问题的解决方案,这里提一下

当有n多项目都需要展示时,按以上的方案,也得添加n条域名解析?
这个肯定不是这样的,想想正则,立马有了眉目,直接在解析里加一条带*的即可,如

添加域名解析2

N多项目只需在github上设置下自定义域名即可
https://10kpreheatingh5.coder.oulafen.com/
https://drawmapcolorfully.coder.oulafen.com/
https://rmbplus20.coder.oulafen.com/
https://lemoncitymedal.coder.oulafen.com/
https://scratchcardberlin.coder.oulafen.com/

总结

给github pages博客域名设置https,目前最简单直接的是,直接在项目setting里设置custom domain,并且24小时后选中Enforce HTTPS即可

虽然解决过程中饶了一圈,不过有幸认识了Netlify,并对多个子项目的域名设置有了更多的思考,也算是涨了点知识。

参考:
https://jaeger.itscoder.com/web/2017/08/30/github-page-https.html
https://help.github.com/articles/using-a-custom-domain-with-github-pages/

git