AWS ELB/ALB http/2 通过 http/2(不是 http/1.1)传递到 EC2 实例

Kon*_*tin 7 amazon-web-services http2

AWS ELB/ALB 现在支持 HTTP/2。

根据文档(https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html):

应用程序负载均衡器通过 HTTPS 侦听器为 HTTP/2 提供本机支持。您可以使用一个 HTTP/2 连接并行发送多达 128 个请求。负载均衡器将这些转换为单独的 HTTP/1.1 请求,并将它们分发到目标组中的健康目标。

我的目标是运行 Apache 且支持 HTTP/2 的 EC2 实例。是否可以让 ALB 通过 HTTP/2 连接到目标(EC2 实例)并避免让 ALB <--> ec2 连接通过 HTTP/1.1?

我在控制台或文档中没有看到任何方法可以做到这一点。

Mic*_*bot 5

不,这是不可能的。

ALB 总是将请求转换为 HTTP/1.1,这不是一个可配置的选项。

  • 现在看来也许是可能的。请参阅 https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html (3认同)
  • 看起来不太实用;当目标组配置为 http2 时,HTTP/1.1 客户端收到 464 HTTP 状态,但没有结果。 (3认同)
  • 我希望这种情况很快就会改变,因为 HTTP/2 的使用越来越广泛,ALB 将允许在整个连接中使用 HTTP/2。 (2认同)
  • 这种设计的优点是来自单个查看器的并行请求可以分散到后端实例中。如果您真的想运行自己的 http/2,您可以使用网络负载均衡器 (NLB) 运行您的设置,但随后您将失去对 Amazon Certificate Manager 证书的访问权限,而 NLB 无法使用这些证书,实际上您的实例将必须自己完成所有 TLS 处理,因为 NLB 不执行 TLS 卸载。 (2认同)