1.2.10.4. HTTP/2 Ingress サポート
HAProxy で、透過的なエンドツーエンドの HTTP/2 接続を有効にできるようになりました。この機能により、アプリケーションの所有者は、単一接続、ヘッダー圧縮、バイナリーストリームなどの HTTP/2 プロトコル機能を利用できます。
個別の Ingress コントローラーまたはクラスター全体について、HAProxy で HTTP/2 接続を有効にすることができます。詳細は、HTTP/2 Ingress 接続 について参照してください。
クライアントから HAProxy への接続について HTTP/2 の使用を有効にするために、ルートはカスタム証明書を指定する必要があります。デフォルトの証明書を使用するルートは HTTP/2 を使用することができません。この制限は、クライアントが同じ証明書を使用する複数の異なるルートに接続を再使用するなどの、接続の結合 (coalescing) の問題を回避するために必要です。
HAProxy からアプリケーション Pod への接続は、re-encrypt ルートのみに HTTP/2 を使用でき、edge termination ルートまたは非セキュアなルートには使用しません。この制限は、HAProxy が TLS 拡張である Application-Level Protocol Negotiation (ALPN) を使用してバックエンドで HTTP/2 の使用をネゴシエートするという事実によるものです。そのため、エンドツーエンドの HTTP/2 はパススルーおよび re-encrypt 使用できますが、非セキュアなルートまたは edge termination ルートでは使用できません。
HTTP/2 プロトコルを使用する接続を WebSocket プロトコルにアップグレードすることはできません。WebSocket 接続を許可するための設計されたバックエンドアプリケーションがある場合、接続で HTTP/2 プロトコルの使用をネゴシエートすることを許可できません。さもないと WebSocket 接続は失敗します。