我做运维工作已经做了七八年的时间了, 给区块链项目进行SSL的配置这项工作, 看起来是极其简单的样子, 其实里面的坑是非常多的, 域名验证这一步、证书链的构建这一步、多节点部署的步骤, 哪一个步骤如果没有能够做得非常利索的话, 浏览器都会直接向用户显示出不安全的字样, 这种情况下用户就会立刻就跑掉了。

真正让人感到棘手的其实是多节点集群这种情况, 因为证书需要在每一台机器上都进行安装和配置, 一旦漏掉了其中的一台, 当用户请求被路由到那一台未配置好的机器上时, 页面就会显示不安全的红色警告, 也就是大家俗称的蹦红锁。

为了解决这个反复折腾的问题, 我后来干脆采用了通配符证书这种方案, 这样就不需要为了每一个子域名去单独处理了, 可以说是达到了一劳永逸的效果, 从而节省了大量的精力。至于HSTS策略, 也是一个一旦启用就无法轻易关闭的东西, 所以在正式去配置之前必须要在脑子里仔细考虑好几遍才行。

区块链项目SSL证书老配不对?这几个实操坑我全替你踩完了

还有另外一件比较容易忘记的事情, 就是链上的数据传输是使用的WebSocket协议, 而WSS这一个层级也必须要把证书给挂载好,千万不要只是盯着HTTP层面的东西, 一定要顺手把WSS这边也给处理好, 如果不这样的话, 前端一旦连接上来就会弹出来安全警告, 这会让人感到体验非常糟糕。