新年的第一篇博客,感谢正在阅读的你。新年快乐!新年新气象,由于种种原因,我最后下定决心把博客整体迁移到 HTTPS 。简单记录一下过程。

申请的是 StartSSL 的免费版证书。体验很一般。整个网站响应缓慢,界面一股十年前的风格,还动不动丢失 session 必须重新来过,周末晚上也不提供服务。一开始使用了宿舍地址,被拒绝;人工沟通后被告知要使用个人的永久地址,折腾了好几次才办下来。不过也因此确定了一件事情:整个验证服务很多关键点上都是客服人工操作,直接回复发验证码过来的那个邮箱竟然在很短时间内就收到了客服的答复(赞一下效率)。不过还是觉得,有些地方明显是可以程序自动化的,期待今年夏季要上线的 Let’s Encrypt 。另外,鉴于 StartSSL 的用户体验,愿意掏一点点钱的话,可以去 namecheap 买最便宜的那个证书,一年也只要10刀,省心不少。

部署的话网上有很多文档了。首先(或者说,应该在申请证书的时候)应该自己先搞清楚一些公私钥体系的基本概念:根证书、 CA 、服务器证书、服务器私钥这些是什么东西。简单来说 HTTPS 的核心是一个公私钥加密系统,私钥必须保密存放在服务器上,公钥(证书)会被服务器传送给客户端使用。为了确保这一对密钥真的属于这个服务器,还构建了一套信用体系:浏览器内置了若干 Root CA ,这些 CA 可以信任(签署)其他下级 CA 或者是某个服务器证书。浏览器拿到服务器发来的证书时就会检查这个信任链。如果任何一环的签署有问题(甚至干脆就是自己给自己签发的),就会变成“不可信证书”。

Read More