Https優化方案(優化證書驗證篇--OCSP)
阿新 • • 發佈:2018-12-07
一句話概括就是: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