相对于HTTP协议的明文传输,HTTPS的传输是加密的,可防止数据在传输过程当中被黑客恶意篡改和窃取,有效防止了中间人攻击(本产品11月份就被黑客进行了一次中间人攻击,网站页面被插入了一些非法内容,致使当日访问速度如同龟爬。也由此下定了全站HTTPS升级改造的决心)nginx
HTTPS能够对接入HTTPS协议的网站获取更高的收录排名浏览器
新版的 Chrome 浏览器若是发现当前网站不支持HTTPS协议,会在右上角提示『不安全』三个字,提示『请勿在该网站输入任何敏感信息』,对用户的信赖感形成必定负面影响安全
80
端口,HTTPS协议默认走443
端口(记住这一点很重要!)SSL 证书分为单域名证书
、多域名证书
和泛域名证书
:服务器
一个单域名证书只能保护它本身。例如一个msh.com
的证书,只能保护它本身,保护不了它下面的子域名,例如b.msh.com
,c.msh.com
是保护不了的。 缺点: 如上所示,意味着我每增长一个子域名,就须要从新生成一次该子域名对应的的SSL证书post
一个证书能够保护指定的多个域名。例如一个多域名证书既能够保护指定的msh.com
,也能保护指定的b.msh.com
和c.msh.com
,或者同级的nsh.com
网站
缺点: 虽然能够指定多域名,但问题在于我也不知道未来我会增长什么子域名。这意味着我到时我可能还须要从新生成一次。我的感受,多域名证书有点鸡肋。加密
一个对应为*.msh.com
的泛域名证书,能够保护msh.com
域名以及它下面全部的次一级的子域名例如b.msh.com
和c.msh.com
code
优点:如上所示,也意味着我能够一劳永逸,泛域名证书生成后,能够适用于该域名证书下的全部次一级的子域名。因此说是泛域名证书是三种类型证书中最实用的证书。dns
注意: 该证书是保护不了更下一级的abc.test.msh.com
域名的,若是你想要保护abc.test.msh.com
,须要申请一个*.test.msh.com
的泛域名证书)ssl
SSL证书分为付费型
和免费型
证书。
经过赛门铁克
或GeoTrust
颁发,安全级别更高。此外,用他们的证书出安全事故的话,机构会提供几十万乃至上千万的美金赔付。固然了,代价是证书比较昂贵,一个单域名证书一年5000 RMB,一个泛域名证书一年40000 RMB,抵得上一年服务器租赁的成本了。因此穷逼们请绕过此条道。
由Let's Encrypt
等数字证书机构颁发,永久免费。免费的同时,又有着极高的浏览器兼容性和安全性。更重要的是,2018年1月份开始,Let's Encrypt开始正式泛域名证书了(穷逼们的天降福利)
结论:从适用范围来讲,显然选择泛域名证书是最优解。而对于严格控制成本(qiong bi)的中小型互联网公司,基于Let's Encrypt生成本身的泛域名证书,是最最优解。
经过Letsencrypt生成证书方式有三种:
能够访问FreeSSL.org的官网在线生成,缺点是那就是同一主域名下的证书数量是有限制的,通常是20个,数量远不能知足正常使用,并且到有效期须要手动更换证书。所以太过鸡肋
能够安装后再服务器上生成证书, 可是自动化程度远远比不上 acme.sh
他的优点简单两句话就能够说明白
下一篇就介绍基于 acme.sh从Letsencrypt生成免费的泛域名证书
系列文章