提醒:本文最后更新于 593 天前,文中所描述的信息可能已发生改变,请仔细核实。
距离之前闲聊Nginx,已经过去快3年。而之前在Nginx 1.16时,由Cloudflare为支持HTTP/3推出的quiche项目,也已过去了近4年。
时间过得很快,终于在前几周,5月23日,Nginx出1.25.0,Mainline版本合并QUIC分支,支持HTTP/3。
更新当天就已经更新到最新版本,只是没写文章。通过这里可查看本站HTTP/3支持状态。
原生支持,肯定是比较开心,毕竟不用去维护过多额外的东西。
我使用的是OpenSSL,虽然官方提示会不支持Early Data,但暂时不是很有所谓。
使用BoringSSL肯定是最好的,之前也看过一些测试结果,BoringSSL各方面性能还是比较不错的(可能部分项目不如OpenSSL 1.1)。但是不支持双证书,而且OCSP stapling需要补丁支持,不能说不好吧,但总觉得差点什么。等什么时候,感觉Early Data或者有其他特性更重要,可能会转变吧。
最近Nginx更新到1.25.1后,HTTP/2 Server Push支持被移除了。也因此,我之前做的Patch,取自CF的HTTP2 HPACK Encoding支持不再可用(因为它是以Server Push为基础)。目前对于最新版Nginx,Patch只保留了Dynamic TLS Record支持。
对于此,个人觉得可以接受,因为这个功能我很少用,只在早期用过几次Server Push。主要是觉得不够实用,或者说没这个需求。但基于此而应用的HTTP2 HPACK Encoding支持倒是挺实用,它可以抑制被攻击时的影响,并且减少流量开销。因为HTTP/2 Server Push移除而丢失这一功能支持,稍微有点可惜了。
转载请注明转自:kn007的个人博客的《聊聊Nginx 1.25和HTTP/3》
@saber: 接下来可能会继续更新
HTTP/3早就借助CloudFlare实现了!Nginx支持不支持的其实意义都不大了!
好久不见,我邮箱都换了一个

@zhang0peter: 好久不见啊!
@zhang0peter: 我在想是不是重拾博客,这段时间发生很多事情
失踪人口回归
@enoch: 不算失踪人口,旧文章有一些继续更新的呢
@World: 是哇,好久不见!
@World: 小朋友4岁了吧?
好快啊
@kn007: 时间不等人,太快了
真是好久不见。
@叶子: 确实!
这个貌似还不普遍啊,这个比起http2更快吗