支持Http3吗?

目前还不支持,很遗憾。

我从(查阅笔记)2019 年开始就一直维护着一个容器化的 HTTP/3 就绪分支,你可以在 GitHub - discourse/discourse_docker at http3 查看。

我们没有广泛推广它的原因是整体生态系统存在一系列问题:

  • Nginx 的开发速度慢了下来,他们不再跟进新的网络技术,比如 HTTP/3 或早期提示(Early Hints)。

  • Nginx 的模块化架构意味着我们可以通过模块添加它,我的分支使用了 Cloudflare 的 nginx 模块 quiche 来实现。但 Cloudflare 也已经放弃了 nginx,并且该模块从未被认为适合生产环境。

  • 我考虑过迁移到更现代的 Web 服务器,比如 Caddy,但当你发布人们会自定义的自托管软件时,这样的更改非常困难。

  • 迁移到 HAProxy 会更容易接受,但我们使用 nginx 来提供静态文件服务,而 HAProxy 无法做到这一点。

  • OpenSSL 维护者基本上破坏了 QUIC,并让整个生态系统的进展停滞了大约十年。

以上所有原因,加上 TCP → UDP 迁移固有的所有问题,都意味着这个改变对我们来说风险太大了。

这非常令人遗憾,因为在过去四年里,普通家庭的大部分流量已经是 HTTP/3 了,因为像 YouTube、Amazon、Shopify、Instagram、Twitch.tv 等所有大公司多年前就已经迁移到它了。这进一步加大了科技巨头和小网站之间的差距,很可惜我们未能像 SPDY、HTTP/2 和 Brotli 那样成为早期采用者。

考虑到所有这些,如果你想要一个简单的“一键式”解决方案来解决这个混乱的问题,可以在你的 Discourse 实例前面使用 Cloudflare。

12 个赞