![Azure DevOps Server 2020 と http/2](https://rvso.com/image/768912/Azure%20DevOps%20Server%202020%20%E3%81%A8%20http%2F2.png)
httpを設定しましたsAzure DevOps Server 2020.0.1 で、IIS が http/2 経由で Web サイトを提供するようにしたいと考えています。Chromium ベースのブラウザー (Chrome、Edge) を使用して Web サイトを参照する場合、すべてのコンテンツは http/1.1 経由で提供されます。Firefox を使用して参照する場合、Web サイトの静的コンテンツは http/2 経由で提供され、API で生成されたコンテンツは http/1.1 経由で提供されます。
上記のすべてのブラウザのすべてのコンテンツを http/2 経由で提供したいのですが、それは可能ですか?
OSはWindows Server 2016です。
答え1
すべてのIIS機能がHTTP/2に対応しているわけではないため、ブラウザがHTTP 1.1経由でしか接続できない場合があります。Microsoftは、次のようなシナリオを文書化しています。これ、
HTTP/2 がサポートされないのはいつですか?
いくつかのケースでは、HTTP/2 を他の機能と組み合わせて使用することはできません。このような状況では、Windows は HTTP/1.1 にフォールバックしてトランザクションを続行します。これには、ハンドシェイク中に HTTP/1.1 をネゴシエートしたり、クライアントにエラー コードを送信して HTTP/1.1 接続で再試行するように指示したりすることが含まれる場合があります。
- Windows 認証 (NTLM/Kerberos/Negotiate) は HTTP/2 ではサポートされていません。この場合、IIS は HTTP/1.1 にフォールバックします。
- クリア テキスト - 前述のとおり、IIS は現在 TLS 経由の HTTP/2 のみをサポートしています。この場合も、IIS は HTTP/1.1 にフォールバックします。
- 帯域幅の調整 - IIS には帯域幅を制限する機能があります (Inetmgr で、サイトを選択し、アクション ウィンドウの [構成] の下にある [制限] を選択します)。これは HTTP/1.1 に適用されますが、HTTP/2 には適用されません (エラーや帯域幅の制限なしで続行されます)。
答え2
これは私が「Chrome が http/1.1 を使用する理由」という質問で見つけたものです。これは既知のバグのようで、Chrome が http/1.1 にフォールバックします。
https://bugs.chromium.org/p/chromium/issues/detail?id=832586