想了解OCSP Stapling的请先阅读:什么是OCSP Stapling
想了解为什么OCSP Stapling可以对网络性能优化,降低TLS阶段耗时的请先阅读:CDN通过openresty库实现ocsp stapling,有效提升客户端回源效率
背景
近期在做APP端网络性能优化,为了降低TLS阶段耗时,决定开启OCSP Stapling功能。为了验证开启OCSP Stapling开关后,OCSP Stapling请求是否生效,需要借助Wireshark抓包工具进行抓包,查看对应的CDN product.example.com域名请求是否以OCSP Stapling方式执行。
遇到的问题
正常情况下已实现OCSP Stapling的域名请求在Server Hello的时候,服务端就会把Certifcate Status 下发给用户。如下图
但我自己在本地使用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信息。
网友评论