1. 前言
现在搞网站域名不加个HTTPS就显得不专业,特别在使用JWT进行认证的接口一定要加HTTPS为你的接口增加一层安全屏障。今天就来聊聊配置HTTPS的关键SSL证书,也被称为CA证书。
2. 什么是 SSL 证书?
SSL(Secure socket layer)证书通过在浏览器和WEB服务器之间建立一条SSL安全通道,对传送的数据进行加密和隐藏,确保数据在传输中不被改变,保证数据的完整性,目前已经成为互联网安全传输的主流标准之一。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,我们只需要安装可信任的证书就可以了。
3. 为什么要从 CA 获取证书?
自己签发的证书没有正式在大家所熟知的认证权威那里注册过,因此不能确保它的真实性,你想如果你访问了一个钓鱼网站,而这个网站的证书却是他们自己签发的证书,这还有什么意义呢?不过自己签发的证书也能保证数据传输的安全性,只是主流浏览器是不信任你的,所以要用权威的CA证书签发机构签发的证书。
4. 为什么证书这么贵?
CA机构的证书在以前都是收费的,而且坐地起价,少则一两千块,多则好几万,而且还是年费。其实签署一个证书的成本几乎为零,开个程序跑就行了,但是为什么一个虚拟证书这么贵呢?
据胖哥了解,一个CA机构每年必须过 WebTrust 年度审计,还要向浏览器厂商交钱,而且还要向保险公司缴纳巨额的保费,另外比较高级的证书签发流程非常严谨,需要大量的人工审核工作。新开的CA公司要等好几年才会被普遍信任,才能广泛进入根证书链。要想入伙就得给其它知名的CA公司掏钱,买次级证书来加速进程。
5. 有没有免费证书?
昂贵的价格让很多中小网站望而却步,这时一家名叫Let’s Encrypt的机构顺势而出。它是一家免费、开放、自动化的证书颁发机构(CA),旨在为任何拥有域名的人提供免费获取授信的证书。目前已经支持通配符证书,但是只有 90 天的时效。
Let’s Encrypt的意义就像Gmail一样,让电子邮箱逐渐免费化,走入寻常百姓家。目前大部分的低级别CA证书都已经免费,你可以通过国内几大云厂商申请使用。如果没有Let’s Encrypt恐怕我们还得被CA机构割韭菜。
6. CA 证书有哪些种类?
CA证书可按照验证方式和域名适配数量进行区分。
验证方式
- DV 域名验证型 SSL 证书,大部分免费,只需要验证对应域名的所有权,适用于小型静态网站、博客。几分钟就能完成签发
- OV 企业验证型 SSL 证书,需要验证域名所有权以及企业身份信息,证明申请单位是一个合法存在的真实实体,一般在 1~5 个工作日颁发。
- EV 扩展验证型 SSL 证书,除了需要验证域名所有权以及企业身份信息之外,还需要提交一下扩展型验证,比如:邓白氏等,通常CA机构还会进行电话回访,一般在 2~7 个工作日颁发证书。价格一般在千元至万元左右,适用于在线交易网站、企业型网站。
域名适配
- 单域名证书,比如证书给www.felord.cn签发,那就只能给该域名使用,不能给其下级域名使用,比如不能给 assets.felord.cn使用。
- 通配符证书,只能保护一个域名以及该域名的所有下一级域名,不限制域名数量。
- 多域名证书,这个最多,可以同时保护多个域名,不限制域名类型,有兴趣可以去看看淘宝网的证书。
SSL证书绑定的是域名而不是服务器 IP。
7. 总结
今天对SSL证书进行了介绍,相信你已经知道如何去申请适合你自己的证书了。那就赶紧为自己网站添加一个证书吧。另外胖哥不推荐将证书配置到 Tomcat 之类的容器中,这样不方便开发不说也不利于隐藏真实的服务器,建议使用Nginx代理并将证书配置到Nginx。
本文转载自微信公众号「码农小胖哥」,可以通过以下二维码关注。转载本文请联系码农小胖哥公众号。