全站HTTPS升級系列(一)升級前的科普工做

1、爲何要進行全站HTTPS升級?

安全性

相對於HTTP協議的明文傳輸,HTTPS的傳輸是加密的,可防止數據在傳輸過程當中被黑客惡意篡改和竊取,有效防止了中間人攻擊(本產品11月份就被黑客進行了一次中間人攻擊,網站頁面被插入了一些非法內容,致使當日訪問速度如同龜爬。也由此下定了全站HTTPS升級改造的決心)nginx

更高的SEO收錄排名

HTTPS能夠對接入HTTPS協議的網站獲取更高的收錄排名瀏覽器

防止錯誤警告提示

新版的 Chrome 瀏覽器若是發現當前網站不支持HTTPS協議,會在右上角提示『不安全』三個字,提示『請勿在該網站輸入任何敏感信息』,對用戶的信賴感形成必定負面影響安全

2、HTTPS和HTTP的有什麼關係?

  • HTTPS是由SSL+HTTP協議構建。https在http通訊協議的基礎上,基於ssl,增長了一個加密層
  • 想要接入HTTPS,必須申請建立一SSL證書,存放在服務器上。SSL 證書是由受信任的數字證書頒發機構 CA頒發。注意,SSL證書是有有效期的,通常爲三個月到一年
  • HTTP協議默認走80端口,HTTPS協議默認走443端口(記住這一點很重要!)

3、爲何要選取泛域名證書,而不是其餘類型的的證書?

SSL 證書分爲單域名證書多域名證書泛域名證書服務器

單域名證書:

一個單域名證書只能保護它本身。例如一個msh.com的證書,只能保護它本身,保護不了它下面的子域名,例如b.msh.com ,c.msh.com是保護不了的。 缺點: 如上所示,意味着我每增長一個子域名,就須要從新生成一次該子域名對應的的SSL證書post

多域名證書:

一個證書能夠保護指定的多個域名。例如一個多域名證書既能夠保護指定的msh.com,也能保護指定的b.msh.comc.msh.com,或者同級的nsh.com網站

缺點: 雖然能夠指定多域名,但問題在於我也不知道未來我會增長什麼子域名。這意味着我到時我可能還須要從新生成一次。我的感受,多域名證書有點雞肋。加密

泛域名證書:

一個對應爲*.msh.com的泛域名證書,能夠保護msh.com域名以及它下面全部的次一級的子域名例如b.msh.comc.msh.comcode

優點:如上所示,也意味着我能夠一勞永逸,泛域名證書生成後,能夠適用於該域名證書下的全部次一級的子域名。因此說是泛域名證書是三種類型證書中最實用的證書。dns

注意: 該證書是保護不了更下一級的abc.test.msh.com域名的,若是你想要保護abc.test.msh.com,須要申請一個*.test.msh.com的泛域名證書)ssl

4、選擇付費型證書仍是免費型證書?

SSL證書分爲付費型免費型證書。

付費型:

經過賽門鐵克GeoTrust頒發,安全級別更高。此外,用他們的證書出安全事故的話,機構會提供幾十萬乃至上千萬的美金賠付。固然了,代價是證書比較昂貴,一個單域名證書一年5000 RMB,一個泛域名證書一年40000 RMB,抵得上一年服務器租賃的成本了。因此窮逼們請繞過此條道。

免費型:

Let's Encrypt等數字證書機構頒發,永久免費。免費的同時,又有着極高的瀏覽器兼容性和安全性。更重要的是,2018年1月份開始,Let's Encrypt開始正式泛域名證書了(窮逼們的天降福利

結論:從適用範圍來講,顯然選擇泛域名證書是最優解。而對於嚴格控制成本(qiong bi)的中小型互聯網公司,基於Let's Encrypt生成本身的泛域名證書,是最最優解

5、爲何要經過 acme.sh 生成泛域名證書,而不是其它方式?

經過Letsencrypt生成證書方式有三種:

FreeSSL.org

能夠訪問FreeSSL.org的官網在線生成,缺點是那就是同一主域名下的證書數量是有限制的,通常是20個,數量遠不能知足正常使用,並且到有效期須要手動更換證書。所以太過雞肋

Certbot

能夠安裝後再服務器上生成證書, 可是自動化程度遠遠比不上 acme.sh

acme.sh

他的優點簡單兩句話就能夠說明白

  • 安裝很簡單,一條命令搞定
  • 自動化程度很高,支持自動dns校驗,自動更新證書

下一篇就介紹基於 acme.sh從Letsencrypt生成免費的泛域名證書

系列文章

全站HTTPS升級系列(一)升級前的科普工做

全站HTTPS升級系列(二)基於 acme.sh從Letsencrypt生成免費的泛域名證書

全站HTTPS升級系列(三)nginx配置全站HTTPS

全站HTTPS升級系列(四)項目代碼升級改造

相關文章
相關標籤/搜索