설명
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를 사용하거나 성능이 개선된다고 보장되지는 않습니다.