想了解OCSP Stapling的請先閱讀:什么是OCSP Stapling
想了解為什么OCSP Stapling可以對網(wǎng)絡性能優(yōu)化荚藻,降低TLS階段耗時的請先閱讀:CDN通過openresty庫實現(xiàn)ocsp stapling,有效提升客戶端回源效率
背景
近期在做APP端網(wǎng)絡性能優(yōu)化洁段,為了降低TLS階段耗時应狱,決定開啟OCSP Stapling功能。為了驗證開啟OCSP Stapling開關后祠丝,OCSP Stapling請求是否生效疾呻,需要借助Wireshark抓包工具進行抓包,查看對應的CDN product.example.com域名請求是否以OCSP Stapling方式執(zhí)行写半。
遇到的問題
正常情況下已實現(xiàn)OCSP Stapling的域名請求在Server Hello的時候岸蜗,服務端就會把Certifcate Status 下發(fā)給用戶。如下圖
但我自己在本地使用Wireshark(v3.4.7)卻無法正常抓取到OCSP Stapling信息叠蝇。如下圖璃岳,TLS握手Server Hello階段僅返回了Change Cipher Spec,Application Data信息悔捶,缺失Certifcate Status
解決方案
使用openssl命令進行驗證OCSP Stapling是否生效铃慷。
openssl s_client -connect 203.107.51.50:443 -servername product.example.com -status
其中服務端IP地址203.107.51.50可以借助Wireshark抓取。通過TLS握手Client Hello階段的拓展字段server_name查找到域名product.example.com蜕该,對應的服務端IP地址就是Destination這列的值犁柜。
?OCSP Stapling已生效截圖如下:可以看到OCSP Response Status:successful表示服務端成功返回OCSP信息。
OCSP Stapling未生效截圖如下:可以看到OCSP response:no response sent表示服務端未返回OCSP信息堂淡。