相對於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生成免費的泛域名證書
系列文章