来自具有提前 SSL 终止的浏览器的 HTTP2

HTTP2 from the browser with early SSL termination

我想设置我的网页以向 Jetty API 服务器发出 HTTP2 请求。我读到浏览器只会使用 "h2" 协议,即带有 TLS 的 HTTP2。但是,我的设置有一个 kubernetes 入口执行 SSL 终止,并将明文请求代理回 Jetty 服务器。困境是我不认为我想使用 Jetty 协商 "h2" 连接,因为那将需要该服务器上的 SSL 上下文。

我的问题是,此设置是否允许浏览器执行 HTTP2 请求?如果是这样,我需要在 Jetty 服务器上启用什么才能正确处理 HTTP2 请求?

您可以将 Jetty 配置为提供明文 HTTP/2(也称为 h2c),这样您的设置将是:

browser -- h2 --> kubernetes tls termination -- h2c --> Jetty

为了使用明文设置 Jetty HTTP/2,如果您将 Jetty 用作独立服务器,则只需启用 http2c 模块,请参阅 http://www.eclipse.org/jetty/documentation/current/http2-enabling.html

或者,如果您使用的是嵌入式 Jetty,您可以查看 this example