ALPN nedir?
Kısa cevap
ALPN (Application-Layer Protocol Negotiation), TLS handshake sırasında bağlantı üzerinde hangi uygulama protokolünün kullanılacağının anlaşılmasını sağlayan TLS extension'ıdır (RFC 7301): istemci desteklediği protokolleri (ör. h2, http/1.1) ClientHello'da sıralar, sunucu birini seçer; böylece ek bir round trip olmadan HTTP/2 kullanılıp kullanılmayacağı belirlenir. TR7'de vService tarafında ALPN frontend Protocol seçimine göre kendiliğinden yapılır (HTTP/2 seçiliyse h2 ve http/1.1 sunulur); Kurum Servisi tarafında ise ALPN alanı HTTP 2.0 enabled seçildiğinde TR7 sunucuya h2,http/1.1 önerir.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| HTTP vService → Frontend | Protocol: HTTP/1.1, HTTP/2 (ve HTTP/3 rozetli seçenekleri) | HTTP/2'de ALPN ile h2 ve http/1.1, HTTP/1.1'de yalnızca http/1.1 sunulur; HTTP/3 rozetli seçeneklerde QUIC bağlantısında h3 sunulur |
| Kurum Servisi → SSL Service | ALPN: HTTP 2.0 disabled (varsayılan), HTTP 2.0 enabled | TR7'nin Kurum Servisine TLS ile bağlanırken HTTP/2 önerip önermeyeceği |
| Load Balancer → Actions (Policy Actions) | Keep Header Names | Bu aksiyon bağlı vService'te HTTP/2 ve HTTP/3 devre dışı kalır; ALPN'de yalnızca http/1.1 sunulur |
Sık Karıştırılan Noktalar
- "ALPN HTTP/2'yi zorlar." ALPN yalnızca anlaşma sağlar; karşı taraf
h2desteklemiyorsa HTTP/1.1 kullanılır. - "Şifresiz bağlantıda da ALPN çalışır." ALPN bir TLS extension'ıdır; Kurum Servisinde ALPN alanı da yalnızca SSL Service açıkken görünür.
- "vService HTTP/2 ise Kurum Servisi de HTTP/2 ile konuşur." İki taraf ayrı anlaşılır; Kurum Servisi bağlantısında TLS üzerinden HTTP/2 için ALPN = HTTP 2.0 enabled seçilir ve sunucunun TLS üzerinden HTTP/2 desteklemesi gerekir; şifresiz bağlantıda ALPN yoktur, HTTP/2 için Cleartext HTTP/2 (h2c) işaretlenir.
Dokümantasyonda nasıl yapılır
