有什么方法可以在 Apache 中实现 HTTP/3?
编辑:
QUIC 协议现已成为 RFC,请参阅RFC 9000。等待 HTTP/3...
OpenSSL 在某处表示,他们将在发布 OpenSSL 3.0 后开始研究 QUIC。不确定 OpenSSL 3.0 何时发布。
在那之前,也许我们可以将 BoringSSL 集成到 Apache 中,并开始使用 QUIC 进行测试。
不,目前没有办法。Apache 目前还没有承诺做这里需要的工作。
LiteSpeed 是 Apache 的替代品,支持许多相同的功能,但具有强大的 QUIC 和 HTTP/3 支持。
Nginx 也只对 QUIC 和 HTTP/3 发表了含糊的评论,但Cloudflare 提供了一个 Nginx 补丁,增加了对 QUIC 和 HTTP/3 的支持。(编辑Nginx 已经预览了独立于 Cloudflare 实现构建的 HTTP/3 支持)。
或者, Caddy是另一个支持 QUIC 和 HTTP/3 的替代服务器。
但是,如果我希望启用,甚至只是尝试使用 QUIC 和 HTTP/3,我会考虑使用 CDN,因为它们将是启用此功能并确保您拥有最佳设置的最简单方法。Cloudflare 有一个免费计划,(我认为)还包括 HTTP/3 和 QUIC 支持,因此很容易在您拥有的站点前设置。
注意:使用 quiche 编译 NGINX,仅在要测试 HTTP/3 时使用此解决方案,因为它不是很可靠。
我得到的一个解决方案是,你可以只在 443 上使用 HTTP/3 运行 NGINX,只有 QUIC,所以它将使用 UDP。
而且,您可以在 443 上使用 Apache,它将使用 TCP。
因此,您可以让 Apache 发送 Alt-Svc 标头,并使其处理 HTTP/0.9、HTTP/1.0、HTTP/1.1 和 HTTP/2.0。
而且,您可以使用以下方法使 NGINX 成为 Apache 的包装器:
listen 1.2.3.4:443 quic reuseport;
location / {
proxy_pass https://your-apache-server.tld:443;
}
这只是让你允许运行:
Upgrade: h2c
标头升级到它H2Direct
在 Apache 中使用以启用 http2-prior-knowledge(不确定它的实际名称)。