由于域名到期,目前我的blog将暂时使用http协议。这篇文章,是我去年做到https留下的记录,确实可以做到文中所述。
让人无奈的运营商
偶然间发现打开博客,弹出了一个底部toast广告,虽然只有短短数秒,但显示内容居然是18禁的东西,我秉着认真负责的态度,为广大读者以身试法点开了,居然要某快播变种软件,下载后发现居然是exe,没有Mac对应平台!这种打着发福利变相谋私利的禽兽,真的是太让人生气了。所以我决定,给自己的博客加个s,保证不在传输过程中被添油加醋。
GitHub Pages最近已经支持了 http://*.github.io 强制https链接,在repo的设置中可以打开。但是如果我们开启了自定义域名,就无法让博客通过https来访问了,这篇文章将告诉各位,如何在使用Github Pages且同时使用自定义域名的情况下,开启Https。
优点&&缺点
优点
- 开启 装逼 模式
- 开启 HTTPS 支持
- 开启 HTTP/2 的支持
- 依据 Google 的说法,也许会对 SEO 有所帮助,当然是也许!这里是介绍
缺点
- 自定义域名支持,GitHub 的 http://*.github.io 所提供的子域名将无法生效。帮助文档
- 自定义域名将分派给其他(国外)DNS进行解析,如果你在阿里云上面购买,需要额外指派出去。
- 如果你的域名还有子域名,子域名还有别的用途的话,那么子域名的解析需要重新配置。
步骤
- 注册cloudflare,将你的域名提供给cloudflare。
- 在你的域名配置中,将解析DNS提供的DNS服务器替换成cloudflare所指定的。
- 在配置后,打开Always use HTTPS 选项。
- 等待24个小时,即可。
原理
按理来说,https是需要证书才能够运行的,我们并没有购买Https证书,Github也未提供自定义域名的Https证书,那么如何实现的?找了它的文档来看,发现其实是cloudflare提供了Https证书的支持,相当于为你的域名配置了对应的证书并部署到了cloudflare服务器上面。但是,由于我们的最后内容是在 GIthub 上面,所以, cloudflare 在连接 Github 这一段的时候用的是Http方式,相当于这样:
.
这样一来,安全问题就全权给了cloudflare,如果文章内容还被加了料,是不是可以断定是cloudflare所为呢 ╮(╯_╰)╭