説明
Azure App Service の siteConfig.http20Enabled は HTTP/2 の使用を制御します。HTTP/2 は一つの接続で複数の要求を効率よく処理でき、アプリケーションの性能と接続効率の向上に役立ちます。
HTTP/2 を使わないこと自体はセキュリティ上の脆弱性ではありません。HTTP/2 対応、HTTPS の強制、TLS バージョン、認証設定はそれぞれ確認する必要があります。
想定される影響
- アプリケーションやクライアントの特性によっては、HTTP/2 の性能上の利点を活用できない場合があります。
- サービスごとの設定が異なると、運用方針を一貫して管理しにくくなります。
対処方法
- アプリケーションとクライアントの互換性を確認し、HTTP/2 が必要なら
siteConfig.http20Enabled: trueを設定してください。 - カスタムプロキシやミドルウェアの制約を確認し、変更後の接続プロトコルと応答性能を確認してください。HTTPS と TLS の保護も別途維持してください。
例
App Service の一部のプロパティを示す抜粋です。デプロイに必要なサービスプランなどのアプリ設定は省略しています。どちらも httpsOnly: true を維持します。
変更前
bicep
resource webApp 'Microsoft.Web/sites@2020-12-01' = {
name: 'example-webapp'
location: resourceGroup().location
properties: {
httpsOnly: true
}
}
HTTP/2 を明示していません。実際に適用された設定と使用プロトコルを確認してください。
変更後
bicep
resource webApp 'Microsoft.Web/sites@2020-12-01' = {
name: 'example-webapp'
location: resourceGroup().location
properties: {
httpsOnly: true
siteConfig: {
http20Enabled: true
}
}
}
HTTP/2 を明示的に有効にします。これだけで全クライアントの HTTP/2 使用や性能改善が保証されるわけではありません。