
之前专门写过如何优化你的 https,里面总结了几点 Nginx 下优化 HTTPS 的方法,最后有两点小的建议,没有详细说明,最近在群里看到朋友发的Nginx配置文件,只配置了证书和密钥部分,所以觉得有必要再把这些刨析一下




接着我们在Nginx开启ssl_session_cache,重新抓包

可以看到,简单的TLS握手包,完成3个TLS,就建立连接,传输数据,总结简短TLS链接过程如下:

可以看到,简短的TLS链接,比完整的TLS链接少了一个完整的往返,如果按照50ms的TTL,那么一次链接就可以节省100ms,效率提升40%
在 nginx 中设置ssl_session_cache之后,就开启了TLS缓存复用,整个过程如下:
客户端Client Hello的时候,会带一个Session ID,如果6769号包中

服务端和客户端协商建立连接,确认Session ID

然后客户端将Session ID保存在本地,再次发起连接的时候,Client Hello会带上这个ID

因为服务端开启了ssl_session_cache,则在缓存中查找对应的Session ID,如果存在则接受并恢复会话,返回相同的Session ID

如果在缓存中,未找到对应的Session ID,则转换成完整的TLS握手
缓存的时间由ssl_session_timeout决定,默认是5分钟
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31548844/viewspace-3158303/ ,如需转载,请注明出处,否则将追究法律责任。