|
去年有个做独立博客的书必朋友问我,说浏览器地址栏老是须买提示"不安全",是书必不是必须得掏钱买个SSL证书才行。我让他先别急着付款,须买把域名发过来看看。书必结果十分钟后他告诉我,须买用Certbot签了一张Let's Encrypt的书必证书,问题解决了,须买花了零块钱。书必 所以答案不是须买"必须买",而是书必"看你怎么用"。 SSL证书的须买本质是一对密钥加一份身份签名。它的书必作用有两个:加密传输数据,以及向浏览器证明"这个域名确实是须买它声称的那个网站"。浏览器厂商早就把HTTP标记为不安全了,书必Chrome从2018年开始就在地址栏给所有HTTP站点打红字警告。你不装证书,访客第一眼看到的就是"不安全"三个字,跑掉一半人很正常。 但"装证书"和"买证书"是两件事。 免费证书里最主流的是Let's Encrypt,2015年上线,背后是Mozilla、Cisco、Akamai这些大厂赞助。它签发的是DV证书(域名验证型),只验证你对域名的控制权,不验证企业身份。对个人博客、小型工具站、测试环境来说,完全够用。缺点是90天有效期,得配置自动续期。Certbot、acme.sh这些工具能帮你自动化,配好之后基本不用管。我自己的几个侧项目跑了三年多,续期从来没出过问题。 那什么时候该花钱买? 第一种情况:你需要OV(组织验证)或EV(扩展验证)证书。这两种证书会验证你公司的真实身份,EV证书以前还能让地址栏变绿显示公司名——后来Chrome在2019年把这个绿条取消了,但OV/EV证书在金融、政务、大型企业场景里仍然是硬需求。银行网站不可能用Let's Encrypt,因为用户需要确认"这确实是工商银行",而不只是"这个域名加密了"。 第二种情况:你需要通配符证书但不想折腾DNS验证。Let's Encrypt其实也支持通配符,但要求用DNS-01验证方式,得在DNS服务商那边配API。如果你用的DNS服务商不支持API操作,那就比较麻烦。商业证书在这方面省事一些。 第三种情况:你需要多域名证书或者特定品牌的信任链。有些老旧设备(比如某些安卓4.x机型、老版本Java环境)对Let's Encrypt的根证书兼容性不好。虽然ISRG的交叉签名已经缓解了大部分问题,但如果你面向的是设备碎片化严重的市场,商业证书的兼容性覆盖确实更广。 第四种情况:你需要保险和赔付。商业证书通常附带 warranty,比如DigiCert最高赔付175万美元。当然,真出了事,这笔钱能不能拿到是另一回事。但有些企业的合规部门就认这个。 价格方面,DV商业证书一年几十到几百块不等,OV证书动辄上千,EV更贵。便宜的DV证书和Let's Encrypt在加密强度上没有任何区别——都是同样的TLS协议、同样的加密算法。你多花的钱买的是验证流程、保险、技术支持这些东西,不是"更安全"。 有个细节值得注意:国内某些云服务商的免费证书其实是Symantec(现DigiCert)或者TrustAsia签的,有效期一年,但到期后必须手动续,忘了就挂。Let's Encrypt虽然90天一续,但自动化做好的话反而更省心。 我自己的判断标准很简单:个人项目、内部工具、测试环境,一律Let's Encrypt。面向公众的商业产品,如果涉及支付、登录、用户数据,考虑上OV证书。至于EV,除非你的行业监管明确要求,否则性价比不高。 还有一点,证书只是HTTPS的一半。你装了证书但页面里混着HTTP资源,浏览器照样报"混合内容"警告。证书买不买是钱的问题,配不配得好是技术问题。后者比前者重要得多。 |