<
html>
【導(dǎo)讀】Nginx作為主流Web服務(wù)器,正確部署SSL證書是實(shí)現(xiàn)HTTPS訪問的基礎(chǔ)環(huán)節(jié)。本文基于生產(chǎn)環(huán)境驗(yàn)證流程編寫,覆蓋密鑰準(zhǔn)備、配置修改、語法校驗(yàn)到重載生效全鏈路。
背景與現(xiàn)狀
Nginx默認(rèn)不支持HTTPS,需手動(dòng)加載SSL模塊并綁定有效證書文件。當(dāng)前超96%的企業(yè)官網(wǎng)已強(qiáng)制啟用HTTPS,未及時(shí)部署將導(dǎo)致瀏覽器標(biāo)記為“不安全”。同時(shí),HTTP/2與現(xiàn)代前端框架依賴TLS層建立連接。
技術(shù)與關(guān)聯(lián)
SSL證書在Nginx中通過server塊內(nèi)的listen指令調(diào)用。關(guān)鍵參數(shù)包括:
- ssl_certificate:指定PEM格式公鑰證書(含中間CA)
- ssl_certificate_key:指向私鑰文件(權(quán)限應(yīng)設(shè)為600)
- ssl_protocols:至少啟用TLSv1.2及以上版本
- ssl_ciphers:推薦ECDHE+AESGCM類高強(qiáng)度套件

建議與方案
以下是經(jīng)新網(wǎng)技術(shù)支持團(tuán)隊(duì)反復(fù)驗(yàn)證的四步法:
- 確認(rèn)OpenSSL版本≥1.1.1,并編譯Nginx時(shí)開啟--with-http_ssl_module選項(xiàng)
- 上傳.crt與.key文件至/etc/nginx/ssl目錄;執(zhí)行chmod 600 /etc/nginx/ssl/*.key防止越權(quán)讀取
- 編輯站點(diǎn)conf,在server{}內(nèi)新增443端口監(jiān)聽及完整SSL參數(shù)組
- 運(yùn)行nginx -t檢測(cè)語法有效性;成功后執(zhí)行systemctl reload nginx立即生效

常見問題
- Q:重啟Nginx報(bào)錯(cuò)“no ssl certificate was specified”怎么辦?
- A:檢查ssl_certificate路徑是否拼寫錯(cuò)誤,以及該路徑下是否存在對(duì)應(yīng)文件且SELinux上下文允許Nginx讀取
- Q:Chrome提示NET::ERR_CERT_AUTHORITY_INVALID?
- A:說明缺少中級(jí)證書鏈,請(qǐng)合并根證與中間證為單個(gè).pem文件再引用
*本文由新網(wǎng)(Xinnet)內(nèi)容中心編輯整理,轉(zhuǎn)載請(qǐng)注明出處。