2018/05/11:因Github Pages支持自定义域名的https,迁移

2016/11/4:Coding Pages貌似添加了根证书,又把国内的解析到coding pages

2016/10/30: 本来想判断UA只对电脑跳转,发现Ubuntu下也会提示错误。。。尝试了其它服务(点此查看),暂用aerobatic

看了很多博客启用了https,自己也想尝试一下,于是绕了个大湾,且听我道来。

申请StartSSL 证书

先前听说过coding pages 绑定域名会自动启用https(https://www.tiexo.cn/https/
,我本来是一直在用coding pages的,然而并没有启用https,重新绑定几次也没有出现。

于是就想另起炉灶,在爽呀那里看到他用的是古尓数据提供的网存且启用了https,于是想照着弄一个,先是申请古尓数据的免费网存(只能放博客),域名正常,态度端正就通过了。

然后要申请证书,在爽呀的博客看到说“Let’s Encrypt”三个月就要续命,而“StartSSL”一年续一次。于是果断也申请StartSSL的证书。教程网上一大把,就不再细说。大概流程基本是:
验证域名所有权-->证书作用域名(最多五个)-->生成及提交CSR-->生成下载证书包-->服务器配置SSL证书

在古尓数据的后台 粘贴证书及私钥 就可以https访问网站了。可以看到是StartCom验证的

Coding Pages 生成证书

这时候我又试了下coding pages 绑定域名,发现绑定后过几分钟就显示https 的链接,访问博客发现已经可以,验证者是 Let’s Encrypt 。应该是后台服务器自动申请的证书,这和中科大提供的博客一样,由于 Let’s Encrypt的申请和续命可以完全的脚本化,将来一定会得到越来越多的使用。

虽然开始做了无用功,不过也解答了我的一个疑惑:同一个域名可以由多个机构颁发多个证书,不过也容易想通,毕竟证书是部署在服务器上的,而浏览器又是本地验证是否可信。

后续配置

网站中有非https的资源浏览器就会报不信任,所以要给cdn空间启用ssl,按道理七牛是可以启用ssl的,然而

于是换了又拍云,申请又拍云联盟的话是可以免费用很久的(虽然还没通过)。将文件转移开启ssl,替换文章内的链接,就可以了。

参考唐门的两篇文章12增加了http到https的跳转以及替换了多说文件地址。
至此,整个站点都是小绿锁了。

小问题

手机上的很多浏览器提示证书不信任,搜索后得知是证书链不完整

由于Firefox和Chrome直接支持Let's Encrypt,所以没有问题。
但是还是有大量浏览器不直接支持Let's Encrypt,必须用到上级证书
DST Root CA X3。

如果是Apache服务器,在ssl.conf中打开 SSLCertificateChainFile 
配置项并指向 ca_bundle.crt 即可。 

作者:刘小平
链接:https://www.zhihu.com/question/40718588/answer/111948349
来源:知乎
著作权归作者所有,转载请联系作者获得授权。 

其实我在配置古尓数据的时候也确实按爽呀说的加入了根证书,不过coding pages没有办法手动配置,只能等待官方改进了。

其它服务

话说证书在手机上不信任的问题一直迟迟没有进展,就想换个方法解决。

gitlab

gitlab原生支持hexo(自动部署),支持ssl,然而研究半天尝试后发现这速度比github还要慢,开个文章的页面需要好几秒,遂放弃。

参考了这些:

基地转移!从 GitHub Pages 转移到 GitLab Pages

Hosting on GitLab.com with GitLab Pages

openshift

感觉速度其实还可以,ssl需要免费升级铜牌会员,由于需要信用卡,就没折腾。

aerobatic

这个东西网上相关的介绍比较少,大概是以Bitbucket的版本库为基础自动构建静态网站的东西。幸好官网的教程很详细,很容易就实现了。Hexo的配置文件里填写Bitbucket的版本库,就可以和原来一样用,需要注意的是:

The free plan is limited to 5 deployments in a 24 hour period.

免费版支持两个网站,一个域名,域名自带亚马逊的泛域名证书(需要邮箱验证所有者),然而只能用在它构建的网站上。这个感觉不太稳定,不知道是不是我网络问题,用一段时间试试。