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