关于用Jekyll建站的一些补充(II)

利用Cloudflare 给Github Pages站点加上https小绿标

Posted by BH on March 25, 2018

神器的https绿标

这两天一直在折腾https绿标的事情。最后的效果如下图所示,看上去是不是很专业呢?

这个是带了小绿标的:

这个是没带小绿标的:

为什么要搞https呢?网上有很多文章,简单来讲就是比起http来说https要安全,减少网站被坏人利用的风险。

HTTP 三大风险: 窃听风险(eavesdropping):第三方可以获知通信内容。 篡改风险(tampering):第三方可以修改通信内容。 冒充风险(pretending):第三方可以冒充他人身份参与通信。 HTTPS 解决方案: 所有信息都是加密传播,第三方无法窃听。 具有校验机制,一旦被篡改,通信双方会立刻发现。 配备身份证书,防止身份被冒充。 转自阮一峰的文章

实现https主要是给网站添加ssl证书。由于我们用的不是本地服务器,而是建立在Github Pages上面,所以传统自己添加ssl证书的方法,比如在Let’s Encript上面自己添加证书并不适用于我们。阿里云和百度云最近似乎也取消了免费证书的选项,付费证书虽然更加安全,但对于我们这种小博客网站来说高额的费用令人望而却步。

经过一番研究,我发现Cloudflare可以免费添加ssl证书,效果完美,网站主要的CDN功能也同样免费,海外感觉加速明显,国内访问速度一般,但起码没有被墙。

利用Cloudflare添加SSL证书

首先前往Cloudflare网站,注册,添加你的站点,然后你的DNS解析信息就可以在Cloudflare上面看到了,如下图。这里如果你的橙色云图标亮起说明这条域名解析已经加入到Cloudflare云加速了。

然后是很关键的一步,仅仅把网址加到Cloudflare是不够的,你需要把DNS nameserver也搬到Cloudflare。Nameserver的地址Cloudflare会提供给你,我的两个nameserver是这样的,你的可能会不一样,但肯定是work的。

这个Nameserver是需要你去域名提供商去更改。以阿里云为例,在管理控制台,域名服务域名列表中点“管理”,然后在新跳出的页面中选择DNS修改,把刚才Cloudflare给你的那两个DNS地址输入进去就可以了。阿里云会提示可能需要24小时才能生效,但我改好以后几乎是立即生效的。如果没生效的话也不用改回去,等等就好了。

不管生没生效,可以直接去Cloudflare添加ssl证书了。Cloudflare页面最上面会有很多蓝色小方块,点击Crypto,在SSL里选择Full,这时候Cloudflare就开始为你生成ssl证书了,这大概要几分钟左右,等到status变成绿灯并显示active certificate就说明证书已经做好啦。

这时你可以尝试一下浏览你的网页,确定所有网页都能顺利打开的话就可以选择“Always use HTTPS”并且enable HSTS了。这两个选项都在刚才制作ssl证书的那个Crypto页面里,往下拉就可以看到了。

这样基本上https小绿标就做好啦,是不是很简单呢?小绿标看着就赏心悦目,逼格也高哈哈。

当然了Cloudflare的强大不仅仅在于CDN和制作ssl证书,大家有兴趣的话可以学习一下Cloudflare的其他功能,这里就不一一阐述了。

关于利用Netlify添加Let’s Encrypt的SSL证书

最后想提一下Netlify,我一开始其实用的是Netlify制作Let’s Encrypt的ssl证书。过程也很简单,Netlify可以把Github Pages的网页搬到Netlify上面,同时生成https小绿标。可是后来我发现用他家制作的证书某些页面总是在Chrome里面打不开,Safari就可以,考虑到Chrome应该是很多人的主力浏览器,网页打不开这种事情是不能容忍的,最后就放弃了Netlify。大家如果有过同样经历并且解决这个问题的欢迎在底下留言传授经验。如果大家不想折腾的话还是用Cloudflare吧,效果非常完美。

好啦今天就先说这些,关于Jekyll建站的小贴士还没有结束哦!

如果您有什么疑问或者文章哪里有问题的话请及时提出,当然了如果这篇文章对您有帮助,欢迎打赏Binpedia!谢谢大家🙏🙏🙏