
當(dāng)下絕大多數(shù)Web訪問(wèn)場(chǎng)景中,明文HTTP協(xié)議已經(jīng)無(wú)法滿足基礎(chǔ)的網(wǎng)絡(luò)傳輸安全要求,全網(wǎng)瀏覽器環(huán)境都會(huì)對(duì)純HTTP站點(diǎn)標(biāo)記不安全風(fēng)險(xiǎn),同時(shí)各類(lèi)前端接口調(diào)用、小程序?qū)印⒁苿?dòng)端網(wǎng)頁(yè)訪問(wèn)都會(huì)直接攔截HTTP明文請(qǐng)求,導(dǎo)致站點(diǎn)無(wú)法正常使用。想要徹底解決網(wǎng)頁(yè)不安全警告、數(shù)據(jù)傳輸竊聽(tīng)、請(qǐng)求劫持、頁(yè)面跳轉(zhuǎn)攔截等問(wèn)題,最核心的方式就是給網(wǎng)站部署SSL證書(shū),啟用HTTPS加密傳輸協(xié)議。
很多運(yùn)維及開(kāi)發(fā)人員存在認(rèn)知誤區(qū):認(rèn)為SSL證書(shū)必須付費(fèi)購(gòu)買(mǎi),實(shí)際上行業(yè)內(nèi)存在合規(guī)可信的免費(fèi)域名SSL證書(shū),證書(shū)具備標(biāo)準(zhǔn)加密能力、被所有主流瀏覽器原生信任,加密強(qiáng)度、安全校驗(yàn)機(jī)制和付費(fèi)證書(shū)無(wú)本質(zhì)區(qū)別,完全可以滿足個(gè)人站點(diǎn)、企業(yè)官網(wǎng)、業(yè)務(wù)后臺(tái)、接口服務(wù)等絕大多數(shù)線上場(chǎng)景的加密需求,全程零成本即可完成全站HTTPS改造。
在正式講解配置流程前,先厘清核心基礎(chǔ)概念,避免配置過(guò)程出現(xiàn)原理性錯(cuò)誤:SSL證書(shū)本質(zhì)是服務(wù)器與客戶端之間的身份憑證,作用是對(duì)傳輸數(shù)據(jù)進(jìn)行非對(duì)稱加密,杜絕中間人抓包篡改數(shù)據(jù);HTTPS就是HTTP+SSL加密協(xié)議的結(jié)合體,端口默認(rèn)使用443,區(qū)別于HTTP默認(rèn)80端口。免費(fèi)證書(shū)屬于域名DV類(lèi)型證書(shū),僅校驗(yàn)域名所有權(quán),無(wú)需提交企業(yè)資質(zhì)資料,審核速度快、申請(qǐng)流程極簡(jiǎn),唯一特點(diǎn)是證書(shū)有效期較短,需要定期續(xù)期,可通過(guò)自動(dòng)化腳本實(shí)現(xiàn)無(wú)感續(xù)期,無(wú)需人工重復(fù)操作。
在申請(qǐng)證書(shū)之前,需要提前配齊三項(xiàng)基礎(chǔ)前置條件,缺少任意一項(xiàng)都無(wú)法完成證書(shū)簽發(fā)與部署,全程無(wú)第三方依賴,僅依賴服務(wù)器與域名基礎(chǔ)資源。
免費(fèi)DV SSL證書(shū)僅支持綁定合法域名,不支持直接使用服務(wù)器公網(wǎng)IP簽發(fā)證書(shū),同時(shí)域名需要完成對(duì)應(yīng)的網(wǎng)絡(luò)備案流程,保證域名解析狀態(tài)正常,DNS服務(wù)器可正常響應(yīng)解析請(qǐng)求。支持單域名、泛域名兩種免費(fèi)證書(shū)類(lèi)型,單域名證書(shū)適配單個(gè)獨(dú)立站點(diǎn),泛域名證書(shū)可適配域名下所有二級(jí)子域名,可根據(jù)站點(diǎn)數(shù)量自主選擇。
服務(wù)器需要開(kāi)放80端口或者443端口,保證外網(wǎng)可以正常訪問(wèn)服務(wù)器端口,證書(shū)簽發(fā)需要通過(guò)DNS校驗(yàn)或者HTTP文件校驗(yàn)兩種方式驗(yàn)證域名歸屬,服務(wù)器端口不通會(huì)直接導(dǎo)致域名所有權(quán)校驗(yàn)失敗,無(wú)法生成證書(shū)。同時(shí)提前確認(rèn)服務(wù)器Web服務(wù)類(lèi)型,主流分為靜態(tài)Web服務(wù)、反向代理服務(wù)兩大類(lèi),兩類(lèi)服務(wù)配置證書(shū)的參數(shù)略有區(qū)別。
需要擁有服務(wù)器最高操作權(quán)限,可修改Web服務(wù)配置文件、重啟站點(diǎn)服務(wù)、開(kāi)放防火墻端口、編輯站點(diǎn)根目錄文件,后續(xù)證書(shū)部署、強(qiáng)制跳轉(zhuǎn)、端口放行均需要權(quán)限支撐。
本次流程采用行業(yè)通用開(kāi)源自動(dòng)化簽發(fā)方案,無(wú)需登錄各類(lèi)后臺(tái)頁(yè)面手動(dòng)填表,全程命令行一鍵生成證書(shū),適配所有服務(wù)器系統(tǒng),無(wú)額外廣告、無(wú)隱性收費(fèi),生成的證書(shū)包含兩個(gè)核心文件:證書(shū)公鑰文件、證書(shū)私鑰文件,后續(xù)所有服務(wù)器部署均依賴這兩份文件。
在服務(wù)器終端執(zhí)行統(tǒng)一開(kāi)源工具安裝命令,工具內(nèi)置合規(guī)免費(fèi)證書(shū)簽發(fā)接口,自動(dòng)對(duì)接權(quán)威證書(shū)機(jī)構(gòu),安裝過(guò)程全程靜默,無(wú)需額外配置參數(shù)。工具核心能力:自動(dòng)校驗(yàn)域名所有權(quán)、自動(dòng)簽發(fā)標(biāo)準(zhǔn)SSL證書(shū)、自動(dòng)記錄證書(shū)有效期、支持一鍵續(xù)期。
提供兩種無(wú)損站點(diǎn)運(yùn)行的校驗(yàn)方式,可根據(jù)自身站點(diǎn)業(yè)務(wù)狀態(tài)選擇,兩種方式均不會(huì)影響網(wǎng)站正常對(duì)外訪問(wèn):
HTTP文件校驗(yàn)(推薦首選):工具自動(dòng)在網(wǎng)站根目錄生成臨時(shí)校驗(yàn)文件,證書(shū)機(jī)構(gòu)通過(guò)公網(wǎng)訪問(wèn)該文件完成域名歸屬驗(yàn)證,全程無(wú)需修改域名DNS解析,不影響線上業(yè)務(wù),適合站點(diǎn)已經(jīng)正式上線、無(wú)法改動(dòng)解析的場(chǎng)景。校驗(yàn)完成后臨時(shí)文件會(huì)自動(dòng)刪除,無(wú)殘留文件。
DNS解析校驗(yàn):工具生成一條TXT類(lèi)型的DNS解析記錄,手動(dòng)在域名解析后臺(tái)添加對(duì)應(yīng)記錄即可完成校驗(yàn),無(wú)需占用服務(wù)器80端口,適合服務(wù)器80端口被其他服務(wù)占用、無(wú)法開(kāi)放80端口的特殊場(chǎng)景。
輸入需要加密的域名,執(zhí)行簽發(fā)指令,等待1-3分鐘即可自動(dòng)完成證書(shū)簽發(fā),簽發(fā)成功后服務(wù)器指定目錄會(huì)生成完整證書(shū)文件組,核心必備文件為fullchain.pem完整證書(shū)文件、privkey.pem私鑰文件。同時(shí)終端會(huì)自動(dòng)標(biāo)注證書(shū)有效期、證書(shū)存放路徑、續(xù)期指令,方便后續(xù)運(yùn)維管理。免費(fèi)證書(shū)默認(rèn)有效期固定,到期前可自動(dòng)續(xù)期,無(wú)需重新走完整申請(qǐng)流程。
拿到證書(shū)文件后,根據(jù)服務(wù)器Web服務(wù)類(lèi)型,分別適配對(duì)應(yīng)的配置文件,以下為兩種最通用服務(wù)的標(biāo)準(zhǔn)化配置步驟,配置邏輯通用,無(wú)需適配特殊定制參數(shù)。
在服務(wù)配置目錄新建cert文件夾,將兩份證書(shū)文件上傳至該目錄,設(shè)置文件讀取權(quán)限,保證Web服務(wù)可正常讀取證書(shū)內(nèi)容;
編輯站點(diǎn)核心配置文件,監(jiān)聽(tīng)端口新增443端口,開(kāi)啟ssl加密模塊;
填寫(xiě)證書(shū)文件絕對(duì)路徑,分別綁定完整證書(shū)路徑與私鑰路徑;
配置加密協(xié)議套件,關(guān)閉老舊不安全的SSLv1/SSLv2協(xié)議,僅保留TLS1.2及以上高安全版本協(xié)議,提升站點(diǎn)加密安全等級(jí);
校驗(yàn)配置文件語(yǔ)法無(wú)誤后,平滑重啟Web服務(wù),避免重啟過(guò)程造成網(wǎng)站短暫中斷。
反向代理場(chǎng)景下,證書(shū)直接配置在代理層即可,后端業(yè)務(wù)服務(wù)無(wú)需重復(fù)配置HTTPS,代理層統(tǒng)一承接443端口加密請(qǐng)求,解密后轉(zhuǎn)發(fā)內(nèi)網(wǎng)HTTP業(yè)務(wù)服務(wù)。配置方式和靜態(tài)服務(wù)基本一致,僅需要額外配置代理轉(zhuǎn)發(fā)規(guī)則,保證加密流量可以正常透?jìng)鞯胶蠖藰I(yè)務(wù)接口,同時(shí)開(kāi)啟頭部協(xié)議轉(zhuǎn)發(fā)參數(shù),確保后端服務(wù)可正常識(shí)別前端真實(shí)HTTPS訪問(wèn)狀態(tài)。
證書(shū)部署完成后,網(wǎng)站同時(shí)可以通過(guò)80端口HTTP和443端口HTTPS兩種方式訪問(wèn),為了消除瀏覽器不安全提示、實(shí)現(xiàn)全站強(qiáng)制加密,需要配置301永久重定向,將所有HTTP訪問(wèn)請(qǐng)求無(wú)條件跳轉(zhuǎn)至HTTPS地址。
通用配置規(guī)則:監(jiān)聽(tīng)80端口所有入站請(qǐng)求,匹配全部訪問(wèn)路徑,返回301永久重定向狀態(tài)碼,自動(dòng)拼接對(duì)應(yīng)的HTTPS站點(diǎn)地址。需要區(qū)分301永久重定向和302臨時(shí)重定向,線上生產(chǎn)環(huán)境必須使用301重定向,保證搜索引擎收錄、瀏覽器緩存均同步更新為HTTPS鏈接,避免網(wǎng)頁(yè)權(quán)重分散、收錄異常。
配置完成后重啟服務(wù),測(cè)試訪問(wèn):直接輸入不帶協(xié)議的域名、手動(dòng)輸入HTTP協(xié)議地址,都會(huì)自動(dòng)跳轉(zhuǎn)加密HTTPS鏈接,瀏覽器地址欄安全鎖標(biāo)識(shí)正常顯示,無(wú)任何不安全風(fēng)險(xiǎn)提示。
免費(fèi)SSL證書(shū)核心短板為有效期較短,人工定期續(xù)簽容易出現(xiàn)遺漏,導(dǎo)致證書(shū)過(guò)期、網(wǎng)站直接無(wú)法訪問(wèn)。依托前期安裝的自動(dòng)化簽發(fā)工具,可配置服務(wù)器定時(shí)任務(wù),實(shí)現(xiàn)全自動(dòng)無(wú)感續(xù)期。
配置服務(wù)器周期性定時(shí)檢測(cè)任務(wù),每日自動(dòng)檢測(cè)本地證書(shū)剩余有效期;
當(dāng)證書(shū)剩余有效期小于30天時(shí),后臺(tái)自動(dòng)執(zhí)行續(xù)期指令,重新簽發(fā)全新證書(shū);
續(xù)期完成后,自動(dòng)平滑重載Web服務(wù)配置,無(wú)需手動(dòng)重啟服務(wù),不中斷網(wǎng)站線上訪問(wèn);
全程無(wú)需人工介入,證書(shū)永久自動(dòng)輪換,徹底規(guī)避證書(shū)過(guò)期故障。
常見(jiàn)原因:網(wǎng)頁(yè)內(nèi)部存在混合資源,頁(yè)面中嵌入了HTTP協(xié)議的圖片、接口、靜態(tài)資源。排查方案:全局替換站點(diǎn)內(nèi)所有資源鏈接為相對(duì)路徑或者HTTPS絕對(duì)路徑,杜絕頁(yè)面內(nèi)明文HTTP資源請(qǐng)求,即可消除風(fēng)險(xiǎn)提示。
常見(jiàn)原因:服務(wù)器防火墻、安全組未放行443端口。排查方案:進(jìn)入服務(wù)器防火墻配置,放行TCP協(xié)議443端口入站和出站流量,同時(shí)檢查服務(wù)器本地端口占用情況,避免443端口被其他服務(wù)搶占。
常見(jiàn)原因:瀏覽器本地緩存了舊的HTTP訪問(wèn)緩存。排查方案:清空瀏覽器緩存,或者使用無(wú)痕模式訪問(wèn)測(cè)試,同時(shí)核對(duì)301重定向配置語(yǔ)法是否存在路徑匹配錯(cuò)誤。
常見(jiàn)原因:配置文件缺少完整證書(shū)鏈。排查方案:直接使用工具生成的完整fullchain證書(shū)文件,不要拆分證書(shū)鏈,保證證書(shū)上級(jí)機(jī)構(gòu)信息完整,適配所有移動(dòng)端設(shè)備內(nèi)置證書(shū)庫(kù)。
對(duì)比維度 |
免費(fèi)DV SSL證書(shū) |
付費(fèi)OV/EV SSL證書(shū) |
|---|---|---|
加密安全能力 |
標(biāo)準(zhǔn)TLS高強(qiáng)度加密,防劫持防抓包 |
同等加密強(qiáng)度,無(wú)加密能力差距 |
資質(zhì)審核要求 |
僅校驗(yàn)域名所有權(quán),無(wú)需企業(yè)資料 |
需要核驗(yàn)企業(yè)實(shí)體資質(zhì),審核流程繁瑣 |
證書(shū)有效期 |
有效期短,需定期續(xù)期 |
有效期更長(zhǎng),續(xù)期頻率低 |
瀏覽器兼容性 |
全瀏覽器、全設(shè)備原生兼容 |
全瀏覽器、全設(shè)備原生兼容 |
適用場(chǎng)景 |
個(gè)人站點(diǎn)、官網(wǎng)、后臺(tái)、接口服務(wù) |
金融交易、支付等高信任要求業(yè)務(wù) |
整體來(lái)看,網(wǎng)站HTTPS完全可以實(shí)現(xiàn)零成本全域部署,免費(fèi)DV SSL證書(shū)在加密能力、瀏覽器兼容性上完全能夠覆蓋絕大多數(shù)線上業(yè)務(wù)場(chǎng)景,無(wú)需額外付費(fèi)購(gòu)買(mǎi)商業(yè)證書(shū)。整套配置核心分為四大關(guān)鍵環(huán)節(jié):域名與服務(wù)器前置準(zhǔn)備、自動(dòng)化工具免費(fèi)簽發(fā)證書(shū)、Web服務(wù)寫(xiě)入證書(shū)配置、HTTP強(qiáng)制301跳轉(zhuǎn)HTTPS,最后搭配服務(wù)器定時(shí)任務(wù)實(shí)現(xiàn)證書(shū)永久自動(dòng)續(xù)期。
很多開(kāi)發(fā)者抵觸免費(fèi)證書(shū),本質(zhì)是擔(dān)心手動(dòng)續(xù)期麻煩,而自動(dòng)化續(xù)期方案可以徹底解決這一痛點(diǎn),實(shí)現(xiàn)一次配置、永久免維護(hù)。在實(shí)際運(yùn)維過(guò)程中,只需要注意端口放行、混合資源整改、完整證書(shū)鏈配置三個(gè)細(xì)節(jié),就能搭建穩(wěn)定、安全、零成本的全站HTTPS加密站點(diǎn),完美解決網(wǎng)頁(yè)不安全警告、網(wǎng)絡(luò)請(qǐng)求劫持、明文數(shù)據(jù)泄露等全部網(wǎng)絡(luò)安全問(wèn)題。