明月登楼

本博客已启用ECC+RSA双证书和加入 HSTS Prelod List 预加载列表
最近几天明月一直在研究给本博客启用ECC+RSA双证书和加入HSTS Prelod List(预加载表),昨晚上折...
扫描右侧二维码阅读全文
20
2018/02

本博客已启用ECC+RSA双证书和加入 HSTS Prelod List 预加载列表

最近几天明月一直在研究给本博客启用ECC+RSA双证书和加入HSTS Prelod List(预加载表),昨晚上折腾了很久都没有成功。仔细分析了一下问题应该是出在DNS解析和Let's Encrypt证书申请环节了。今天下午抽时间继续折腾中……。

终于皇天不负有心人呀,成功了!并且惊奇的发现原来又拍云 CDN 是支持ECC证书的,只是不支持ECC+RSA双证书而已,所以目前只能是放弃对 Windows XP和Android 4.0的支持了。据说ECC证书的速度相对于RSA证书会快一些,当然这个所谓的“快”其实我们人类是感觉不出来的,就当是增强了证书的安全性吧!

20180220202429.png

先上图了,www.myssl.com检测已经检测到了ECC证书,这说明在又拍云 CDN 下已经是ECC证书生效了,虽然 CDN 目前无法支持双证书,但是Nginx本身是支持自动切换双证书的。

双证书搞定了,就继续折腾加入 HSTS Prelod List 预加载列表了!这个折腾了我好半天才算是成功,单独申请 www.imydl.tech 是不行的,还得必须保证 imydl.tech 也是已经HTTPS状态才可以,这就要求在申请Let's Encrypt证书的时候必须是 imydl.techwww.imydl.tech 同时申请的证书才可以,也就是说必须保证一个证书里包涵了这两个域名。

Let's Encrypt证书的申请

具体在 acme.sh 里的命令如下:

acme.sh --issue --dns dns_cx -d imydl.tech -d www.imydl.tech

这是申请RSA证书的

acme.sh --issue --dns dns_cx -d imydl.tech -d www.imydl.tech --k ec-256

这是申请ECC证书的

PS:如果要启用双证书上述两个证书申请都需要的,单证书的话任选一个即可,兼容性最好的是RSA证书,ECC证书比较新老版本的系统是无法兼容的,大家可以视情况来选择。

DNS解析调整

完成了证书的申请后,还需要在DNS解析里给 'imydl.tech' 做个单独的解析,也就是 主机记录 为 '@' 的解析,至于是A解析还是CNAME解析这个就根据自己的情况来选择了,如果是启用了 CDN 的话那就是CNAME解析到 CDN ,也就是给 CDN 上绑定 imydl.techwww.imydl.tech 两个域名

这样的设置是关系到 HSTS Prelod List 预加载列表在申请校验的时候可以顺利通过,否则就会因为无法校验成功被拒。

完成上述DNS解析设置后就可以到 HSTS Prelod List 申请加入 HSTS Prelod List 预加载列表了,这是需要人工审核的,所以成功加入需要1-2周的时间左右,请耐心等待。

20180220195942.png

20180220200051.png

20180220200148.png

至于说加入 HSTS Prelod List 预加载列表的好处,可以用一句话来概述,那就是:“让你的域名「嵌入」主流浏览器,一同发行!”,目前支持HSTS Prelod List的浏览器有谷歌ChromeFirefoxOperaSafariIE 11 and Edge等等(可参考HSTS compatibility matrix.)。基本上主流浏览器都会支持这个预加载表的,当然加入后就等同于是抛弃了对 http 的支持,虽然可以撤销这个预加载表,但因为需要至少半年的时间才能成功撤销,所以基本上也就意味着很难撤销,毕竟这对于用户来说会有一定的影响的。说到这里大家应该明白所谓的 HSTS Prelod List 预加载列表就是告诉浏览器你的域名都必须直接使用HTTPS来访问,不用浏览器根据服务器返回情况来决定是http还是https协议了。

今天不做知识性的分享,只是一次对折腾的记录分享而已。

最后修改:2018 年 02 月 20 日 08 : 55 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论

8 条评论

  1. 魏艾斯博客

    大佬,按照你给的网站申请后,网页提示:No HSTS header,怎么解决呢

    1. 明月登楼
      @魏艾斯博客

      你的站点配置文件里需要添加HSTS header进去!

      'add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";'
      一般都是添加这样的就可以了!

  2. 懿古今

    我已经把我的懿古今和boke112导航加入到HSTS了,以后应该也不会回滚到HTTP了

    1. 明月登楼
      @懿古今

      哦,是加入了?还是提交申请了?我提交都这么多天了还没有收录呢?(⋟﹏⋞)

  3. 大事记

    打算后期换成https的,当下看来这是一个趋势了。

    1. 明月登楼
      @大事记

      是的,这个真的是个大趋势!

  4. 橘子书

    太深奥了,理解不来。

    1. 明月登楼
      @橘子书

      哈哈,你就装吧!