Nginx 開啟網站 OCSP stapling 配置

去年底更換了 AlphaSSL 泛域名證書,剛剛沒事就在 SSL/TLS 安全評估報告 網站上檢查網站的SSL配置狀態,意外發現 OCSP裝訂 居然沒有開啟,怪不得谷歌站長核心網頁指標的移動設備老是提示:LCP 問題:超過了 2.5 秒(移動設備),需要改進,那么就來重新開啟一下吧!

Nginx 開啟網站 OCSP stapling 配置

文章插圖
OCSP 是什么?OCSP 是在線證書狀態協議(Online Certificate Status Protocol)的縮寫,是一個用于獲取 X.509 數字證書撤銷狀態的網際協議,用于檢驗證書合法性 。
OCSP 查詢需要建立一次完整的 HTTP 查詢請求,期間的 DNS 查詢、建立 TCP 連接、服務端響應和數據傳輸都是額外開銷,使得建立 TLS 連接花費更多時長 。
后來出現了 OCSP Stapling,將原本需要客戶端實時發起的 OCSP 請求轉嫁給服務端,Web 端將主動獲取 OCSP 查詢結果,并隨證書一起發送給客戶端,以此讓客戶端跳過自己去尋求驗證的過程,提高 TLS 握手效率和 HTTPS 性能 。
解決方法【Nginx 開啟網站 OCSP stapling 配置】正常情況下在 Nginx 配置文件中增加 ssl_stapling on 和 ssl_stapling_verify on 即可開啟 OCSP,但如果你使用阿里云申請的免費證書,那么就需要配置 ssl_trusted_certificate 才能開啟 。
Let\’s encrypt 免費簽發的證書其 OCSP Response 不包含 Certificate 信息,因此 ssl_stapling_verify 和 ssl_trusted_certificate 無需設置,只需開啟 ssl_stapling on 即可 。
開啟 OCSP 完整配置內容如下:
server{
….
#OCSPstapling配置
ssl_staplingon; #Let\’sencrypt無需配置
ssl_stapling_verifyon; #ssl證書配置
ssl_certificate/path/to/cert.pem;
ssl_certificate_key/path/to/key.pem; #國內部分免費證書需要配置
ssl_trusted_certificate/path/to/cert.pem; #證書校驗域名dns服務器
resolver8.8.8.88.8.4.4216.146.35.35216.146.36.36valid=600s;
….
}修改完成后使用命令重啟 Nginx,然后使用 OpenSSL 來驗證 OCSP Stapling 是否已經成功開啟,成功提示:OCSP Response Status: successful (0x0),失敗提示:OCSP Response: no response sent,如下圖:
#重啟Nginx
systemctlrestartnginx #驗證OCSPStapling
openssls_client-connect域名:端口-servername域名-status-tlsextdebug&1|grep-i\”OCSPresponse\”
最后總結經過上述配置 OCSP Stapling,對于個人博客,企業網站,下載服務器使用 SSL加密證書 推薦開啟 OCSP 配置,用戶訪問網頁時速度上會有非常輕微的提升,尤其對于做谷歌搜索排名優化的站點來說,這簡直就是屬于加分項 。
另外就是如果你開啟了全站CDN加速,那么目前已知 阿里云、騰訊云、百度云 的CDN服務均支持 OCSP裝訂 功能,只需要勾選即可,無需另外配置 。

    推薦閱讀