Tengine如何开启HTTPS
在Tengine中开启http2,只需要在listen的后面加上http2参数就可以了。
但是有一个场景需要注意,因为有些域名并不想开启http2,比如上面这个配置的b.com并不想开http2,但是因为a.com开启了http2,所以b.com也被自动开启了,这是因为http2这个参数作用在ip和端口上,在ssl握手时用了a.com的配置参数,所以tengine针对这种情况做了一个域名级别的开关来做控制。
TLSv1.3——更快、更安全
1-RTT & 0-RTT
只支持完全前向安全性的密钥交换算法
ServerHello 之后的所有消息都是加密的
淘汰 Session ID 和 Session Ticket,用 PSK 代替
Chrome 63+, Firefox 58+
Tengine也支持了TLSv1.3,开启方式:
Tengine 实现与配置动态证书
动态证书主要解决的问题是接入域名太多,server块过多导致tengine reload慢的问题,lua-nginx模块提供了一个证书的lua阶段,可以在这个阶段来做证书的热加载,不需要reload tengine,这样可以提高效率和性能。
配置也比较简单,在ssl_cert.lua里面做证书的管理,在ssl握手时拿到sni,去拿这个域名的证书和私钥,再调用lua ffi接口就可以完成证书和私钥的切换
ssl_cert.lua:
调用 lua ffi 接口设置证书和私钥
登录 | 立即注册