Https优化方案(减少通信RT篇--TLS False Start)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/supertor/article/details/84871725

https通信示意图

在这里插入图片描述

开启TLS False Start后的https通信是示意图

在这里插入图片描述

可以看出,在TLS协商第二阶段,浏览器发送ChangeCipherSpec和Finished后,立即发送加密的应用层数据,而无需等待服务器端的确认。


具体可以通过抓包来看一下

未开启TLS False Start
在这里插入图片描述
可以看出,浏览器端在发送ChangeCipherSpec和Finished后,处于等待状态,直到服务器的确认包到达,才进行加密的应用数据传输。

开启TLS False Start
在这里插入图片描述
浏览器在发送ChangeCipherSpec和Finished后,并没有等待服务器端的确认就立即发送了加密应用数据。这样就省去了一个RT。


具体操作(nginx)

    ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!aNULL:!MD5;
  	ssl_prefer_server_ciphers on;

简而言之就是告诉Nginx在TLS握手时启用服务器算法优先,由服务器选择适配算法而不是客户端
想进一步了解TLS可以看这篇文档 https://wiki.mozilla.org/Security/Server_Side_TLS

猜你喜欢

转载自blog.csdn.net/supertor/article/details/84871725