Nginx之OCSP stapling配置


OCSP stapling是Https優化方案之一,將原本需要客戶端實時發起的 OCSP 請求轉嫁給服務端;

  • 在線證書狀態協議(Online Certificate Status Protocol),簡稱 OCSP,是一個用於獲取 X.509 數字證書撤銷狀態的網際協議,在 RFC 6960 中定義。OCSP 用於檢驗證書合法性,查詢服務一般由證書所屬 CA 提供。OCSP 查詢的本質,是一次完整的 HTTP 請求加響應的過程,這中間涵括的 DNS 查詢、建立 TCP 連接、Web 端工作等步驟,都將耗費更多時間,使得建立 TLS 花費更多時長。
  • OCSP存在隱私和性能問題。
    1、瀏覽器直接去請求第三方CA(Certificate Authority, 數字證書認證機構),會暴露網站的訪客(CA 機構會知道哪些用戶在訪問我們的網站);
    2、瀏覽器進行OCSP查詢會降低HTTPS性能(訪問我們的網站會變慢) OCSP實時查詢會增加客戶端的性能開銷。

后來,OCSP Stapling 出現了。將原本需要客戶端實時發起的 OCSP 請求轉嫁給服務端,Web 端將主動獲取 OCSP 查詢結果,並隨證書一起發送給客戶端,以此讓客戶端跳過自己去尋求驗證的過程,提高 TLS 握手效率。 可以提高HTTPS性能。

在線校驗
  • 此方式需要支持服務器能夠主動訪問證書校驗服務器才能生效,並且在每次重啟nginx的時候會主動請求一次,如果網絡不通會導致nginx啟動緩慢。
server {
    listen 443 ssl;
    server_name  xx.xx.com;
    index index.html index.htm index.jsp;

    ssl_certificate         server.pem;#證書的.cer文件路徑
    ssl_certificate_key     server-key.pem;#證書的.key文件

    # 開啟 OCSP Stapling ---當客戶端訪問時 NginX 將去指定的證書中查找 OCSP 服務的地址,
獲得響應內容后通過證書鏈下發給客戶端。
    ssl_stapling on;
    ssl_stapling_verify on;# 啟用OCSP響應驗證,OCSP信息響應適用的證書
    ssl_trusted_certificate /path/to/xxx.pem;#若 ssl_certificate 指令指定了完整的證書鏈,則 ssl_trusted_certificate 可省略。
    resolver 8.8.8.8 8.8.4.4 216.146.35.35 216.146.36.36 valid=60s;#添加resolver解析OSCP響應服務器的主機名,valid表示緩存。
    resolver_timeout 2s;# resolver_timeout表示網絡超時時間

 

人工更新

為了緩存的更新時間更可加控,你也可以人工負責更新文件內容。利用 NginX 的 ssl_stapling_file 指令直接將 OCSP 響應存成文件,NginX 從文件獲取OCSP響應而無需從服務商拉取,將其隨證書下發而不實時查詢。

server {
    listen 443 ssl;
    server_name  xx.xx.com;
    index index.html index.htm index.jsp;

    ssl_certificate         server.pem;#證書的.cer文件路徑
    ssl_certificate_key     server-key.pem;#證書的.key文件

    # 開啟 OCSP Stapling ---當客戶端訪問時 NginX 將去指定的證書中查找 OCSP 服務的地址,
獲得響應內容后通過證書鏈下發給客戶端。
    ssl_stapling on;
    ssl_stapling_file /xxx/xxx/stapling_file.ocsp; 
    ssl_stapling_verify on;# 啟用OCSP響應驗證,OCSP信息響應適用的證書
    ssl_trusted_certificate /path/to/xxx.pem;#若 ssl_certificate 指令指定了完整的證書鏈,則 ssl_trusted_certificate 可省略。



喜歡這篇文章?歡迎打賞~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM