JobPlus知识库 IT 其它 文章
HTTPS实践

Tengine如何开启HTTPS

在Tengine中开启http2,只需要在listen的后面加上http2参数就可以了。

但是有一个场景需要注意,因为有些域名并不想开启http2,比如上面这个配置的b.com并不想开http2,但是因为a.com开启了http2,所以b.com也被自动开启了,这是因为http2这个参数作用在ip和端口上,在ssl握手时用了a.com的配置参数,所以tengine针对这种情况做了一个域名级别的开关来做控制。

TLSv1.3——更快、更安全

  1. 1-RTT & 0-RTT

  2. 只支持完全前向安全性的密钥交换算法

  3. ServerHello 之后的所有消息都是加密的

  4. 淘汰 Session ID 和 Session Ticket,用 PSK 代替

  5. Chrome 63+, Firefox 58+

    Tengine也支持了TLSv1.3,开启方式:

  6. Tengine 实现与配置动态证书

    动态证书主要解决的问题是接入域名太多,server块过多导致tengine reload慢的问题,lua-nginx模块提供了一个证书的lua阶段,可以在这个阶段来做证书的热加载,不需要reload tengine,这样可以提高效率和性能。

    配置也比较简单,在ssl_cert.lua里面做证书的管理,在ssl握手时拿到sni,去拿这个域名的证书和私钥,再调用lua ffi接口就可以完成证书和私钥的切换


  7. ssl_cert.lua:


    调用 lua ffi 接口设置证书和私钥


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
0人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序