HTTPS證書知識掃盲
1. 前言
現(xiàn)在搞網(wǎng)站域名不加個HTTPS就顯得不專業(yè),特別在使用JWT進(jìn)行認(rèn)證的接口一定要加HTTPS為你的接口增加一層安全屏障。今天就來聊聊配置HTTPS的關(guān)鍵SSL證書,也被稱為CA證書。
2. 什么是 SSL 證書?
SSL(Secure socket layer)證書通過在瀏覽器和WEB服務(wù)器之間建立一條SSL安全通道,對傳送的數(shù)據(jù)進(jìn)行加密和隱藏,確保數(shù)據(jù)在傳輸中不被改變,保證數(shù)據(jù)的完整性,目前已經(jīng)成為互聯(lián)網(wǎng)安全傳輸?shù)闹髁鳂?biāo)準(zhǔn)之一。由于SSL技術(shù)已建立到所有主要的瀏覽器和WEB服務(wù)器程序中,我們只需要安裝可信任的證書就可以了。
3. 為什么要從 CA 獲取證書?
自己簽發(fā)的證書沒有正式在大家所熟知的認(rèn)證權(quán)威那里注冊過,因此不能確保它的真實性,你想如果你訪問了一個釣魚網(wǎng)站,而這個網(wǎng)站的證書卻是他們自己簽發(fā)的證書,這還有什么意義呢?不過自己簽發(fā)的證書也能保證數(shù)據(jù)傳輸?shù)陌踩?,只是主流瀏覽器是不信任你的,所以要用權(quán)威的CA證書簽發(fā)機(jī)構(gòu)簽發(fā)的證書。
4. 為什么證書這么貴?
CA機(jī)構(gòu)的證書在以前都是收費(fèi)的,而且坐地起價,少則一兩千塊,多則好幾萬,而且還是年費(fèi)。其實簽署一個證書的成本幾乎為零,開個程序跑就行了,但是為什么一個虛擬證書這么貴呢?
據(jù)胖哥了解,一個CA機(jī)構(gòu)每年必須過 WebTrust 年度審計,還要向瀏覽器廠商交錢,而且還要向保險公司繳納巨額的保費(fèi),另外比較高級的證書簽發(fā)流程非常嚴(yán)謹(jǐn),需要大量的人工審核工作。新開的CA公司要等好幾年才會被普遍信任,才能廣泛進(jìn)入根證書鏈。要想入伙就得給其它知名的CA公司掏錢,買次級證書來加速進(jìn)程。
5. 有沒有免費(fèi)證書?
昂貴的價格讓很多中小網(wǎng)站望而卻步,這時一家名叫Let’s Encrypt的機(jī)構(gòu)順勢而出。它是一家免費(fèi)、開放、自動化的證書頒發(fā)機(jī)構(gòu)(CA),旨在為任何擁有域名的人提供免費(fèi)獲取授信的證書。目前已經(jīng)支持通配符證書,但是只有 90 天的時效。
Let’s Encrypt的意義就像Gmail一樣,讓電子郵箱逐漸免費(fèi)化,走入尋常百姓家。目前大部分的低級別CA證書都已經(jīng)免費(fèi),你可以通過國內(nèi)幾大云廠商申請使用。如果沒有Let’s Encrypt恐怕我們還得被CA機(jī)構(gòu)割韭菜。
6. CA 證書有哪些種類?
CA證書可按照驗證方式和域名適配數(shù)量進(jìn)行區(qū)分。
驗證方式
- DV 域名驗證型 SSL 證書,大部分免費(fèi),只需要驗證對應(yīng)域名的所有權(quán),適用于小型靜態(tài)網(wǎng)站、博客。幾分鐘就能完成簽發(fā)
- OV 企業(yè)驗證型 SSL 證書,需要驗證域名所有權(quán)以及企業(yè)身份信息,證明申請單位是一個合法存在的真實實體,一般在 1~5 個工作日頒發(fā)。
- EV 擴(kuò)展驗證型 SSL 證書,除了需要驗證域名所有權(quán)以及企業(yè)身份信息之外,還需要提交一下擴(kuò)展型驗證,比如:鄧白氏等,通常CA機(jī)構(gòu)還會進(jìn)行電話回訪,一般在 2~7 個工作日頒發(fā)證書。價格一般在千元至萬元左右,適用于在線交易網(wǎng)站、企業(yè)型網(wǎng)站。
域名適配
- 單域名證書,比如證書給www.felord.cn簽發(fā),那就只能給該域名使用,不能給其下級域名使用,比如不能給 assets.felord.cn使用。
- 通配符證書,只能保護(hù)一個域名以及該域名的所有下一級域名,不限制域名數(shù)量。
- 多域名證書,這個最多,可以同時保護(hù)多個域名,不限制域名類型,有興趣可以去看看淘寶網(wǎng)的證書。
SSL證書綁定的是域名而不是服務(wù)器 IP。
7. 總結(jié)
今天對SSL證書進(jìn)行了介紹,相信你已經(jīng)知道如何去申請適合你自己的證書了。那就趕緊為自己網(wǎng)站添加一個證書吧。另外胖哥不推薦將證書配置到 Tomcat 之類的容器中,這樣不方便開發(fā)不說也不利于隱藏真實的服務(wù)器,建議使用Nginx代理并將證書配置到Nginx。
本文轉(zhuǎn)載自微信公眾號「碼農(nóng)小胖哥」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系碼農(nóng)小胖哥公眾號。