背景:nginx的https支持使用的是openssl库,对于大部分线上请求都能正确处理,可以大部分需求。但是在go语言中的https功能并未经过长期的考验,没有经过大项目的检验,所以一致性尤为重要。
方法:1、升级nginx中的代码,从线上抽样打印ssl的ClientHello信息。
2、分析日志获取ClientHello信息。
3、修改openssl s_client 代码,能够加载ClientHello信息。
从线上抽样打印ssl的ClientHello信息
这里主要讲述ngxin中如何对数据进行收集和openssl s_client 代码的修改。