1. 程式人生 > >Https優化方案(優化證書驗證篇--OCSP)

Https優化方案(優化證書驗證篇--OCSP)

一句話概括就是:OCSP 是server 把自己的站點證書和中間證書以及根證書打包一起下發到客戶端,省去客戶端查詢的過程。

OCSP實時查詢會增加客戶端的效能開銷。因此,可以考慮通過OCSP stapling的方案來解決:OCSP stapling是一種允許在TLS握手中包含吊銷資訊的協議功能,啟用OCSP stapling後,服務端可以代替客戶端完成證書吊銷狀態的檢測,並將全部資訊在握手過程中返回給客戶端。增加的握手資訊大小在1KB以內,但省去了使用者代理獨立驗證吊銷狀態的時間。
啟用OCSP stapling的方式有很多種,比如線上校驗。此方式需要支援伺服器能夠主動訪問證書校驗伺服器才能生效,並且在每次重啟nginx的時候會主動請求一次,如果網路不通會導致nginx啟動緩慢。

# 啟用OCSP stapling
ssl_stapling on;
# valid表示快取5分鐘,resolver_timeout表示網路超時時間
resolver 8.8.8.8 8.8.4.4 223.5.5.5 valid=300s;
resolver_timeout 5s;         
# 啟用OCSP響應驗證,OCSP資訊響應適用的證書   
ssl_stapling_verify on;  
ssl_trusted_certificate /usr/local/nginx/ssl_cert/cd.crt;      

為了更可靠,你也可以人工負責更新檔案內容,設定Nginx直接從檔案獲取OCSP響應而無需從服務商拉取。

# 啟用OCSP stapling
ssl_stapling on;
ssl_stapling_file /usr/local/nginx/oscp/stapling_file.ocsp;            
# 啟用OCSP響應驗證,OCSP資訊響應適用的證書   
ssl_stapling_verify on;  
ssl_trusted_certificate /usr/local/nginx/ssl_cert/cd.crt;      

Apache配置示例 *.conf檔案

	#   SSL Engine Switch:
    #   Enable/Disable SSL for this virtual host.
    SSLEngine on

    # 4 possible values: All, SSLv2, SSLv3, TLSv1. Allow TLS only:
    SSLProtocol all -SSLv2 -SSLv3
    SSLCertificateFile  證書存放路徑
    SSLCertificateKeyFile  證書金鑰存放路徑
    SSLCACertificateFile /etc/ssl/ca-certs.pem
    SSLUseStapling on