Tüm Ürünler
Search
Belge Merkezi

Alibaba Cloud Service Mesh:Ingress gateway'de HTTPS için HTTP/2'yi devre dışı bırakma

Son Güncelleme:Oct 07, 2026

İstemciniz HTTPS üzerinden HTTP/2 kullanırken sorun yaşıyorsa ve istemci yapılandırmasını kolayca değiştiremiyorsanız Alibaba Cloud Service Mesh (ASM) ağ geçidindeki HTTP/2 protokolünü devre dışı bırakın. Bu konu, bir ingress gateway'de HTTPS için HTTP/2'nin nasıl devre dışı bırakılacağını açıklar.

Önkoşullar

Adım 1: Varsayılan yapılandırmayı doğrulama

Uygulama Katmanı Protokol Anlaşması (ALPN) varsayılan olarak HTTP/2'ye ayarlandığını doğrulamak için aşağıdaki komutu çalıştırarak ASM ağ geçidine erişin. <INGRESS_GATEWAY_IP> değerini ingress gateway'inizin IP adresiyle değiştirin.

curl -k -H Host:b.aliyun.com --resolve b.aliyun.com:443:<INGRESS_GATEWAY_IP>  https://b.aliyun.com/status/418 -v

Beklenen çıktı:

* Added b.aliyun.com:443:8.217.xxx xxx to DNS cache
* Hostname b.aliyun.com was found in DNS cache
*   Trying 8.217.xxx xxx:443...
* Connected to b.aliyun.com (8.217.xxx xxx) port 443 (#0)
* ALPN: offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=aliyun.com; O=myexample organization
*  start date: Apr 10 08:23:54 2023 GMT
*  expire date: Apr  9 08:23:54 2024 GMT
*  issuer: O=myexample Inc.; CN=aliyun.com
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
* using HTTP/2
* h2 [:method: HEAD]
* h2 [:scheme: https]
* h2 [:authority: b.aliyun.com]
* h2 [:path: /status/418]
* h2 [user-agent: curl/8.1.2]
* h2 [accept: */*]
* Using Stream ID: 1 (easy handle 0x12e80d600)
> HEAD /status/418 HTTP/2
> Host:b.aliyun.com
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/2 418
HTTP/2 418
< server: istio-envoy
server: istio-envoy
< date: Thu, 14 Sep 2023 08:23:25 GMT
date: Thu, 14 Sep 2023 08:23:25 GMT
< access-control-allow-origin: *
access-control-allow-origin: *
< x-more-info: http://tools.ietf.org/html/rfc2324
x-more-info: http://tools.ietf.org/html/rfc2324
< access-control-allow-credentials: true
access-control-allow-credentials: true
< content-length: 135
content-length: 135
< x-envoy-upstream-service-time: 5
x-envoy-upstream-service-time: 5

Çıktı, istemcinin ALPN listesinde hem HTTP/2 hem de HTTP/1.1 sunduğunu gösterir. Varsayılan olarak ağ geçidi HTTP/2'yi tercih eder.

Adım 2: HTTPS için HTTP/2'yi devre dışı bırakma

  1. ASM konsolu na giriş yapın. Sol gezinme bölmesinde Service Mesh > Mesh Management seçeneklerini seçin.

  2. Mesh Management sayfasında ASM örneğinin adını tıklayın. Sol gezinme bölmesinde ASM Gateways > Ingress Gateway seçeneklerini seçin.

  3. Ingress Gateway sayfasında, yapılandırmak istediğiniz ağ geçidini bulun ve İşlemler sütununda View YAML seçeneğini tıklayın. Edit iletişim kutusunda, spec alanının altına podAnnotations yapılandırmasını ekleyin ve ardından OK seçeneğini tıklayın.

    podAnnotations:
        proxy.istio.io/config: |
          httpsHttp2Disabled: true
    Not

    Bu yapılandırma ağ geçidinin yeniden başlatılmasına neden olur.

Adım 3: HTTPS için HTTP/2'nin devre dışı bırakıldığını doğrulama

ASM ağ geçidine erişmek için aşağıdaki komutu tekrar çalıştırın. <INGRESS_GATEWAY_IP> değerini ingress gateway'inizin IP adresiyle değiştirin.

curl -k -H Host:b.aliyun.com --resolve b.aliyun.com:443:<INGRESS_GATEWAY_IP>  https://b.aliyun.com/status/418 -v

Beklenen çıktı:

* Added b.aliyun.com:443:8.217.xxx.xxx  to DNS cache
* Hostname b.aliyun.com was found in DNS cache
*   Trying 8.217.xxx.xxx:443...
* Connected to b.aliyun.com (8.217.xxx.xxx) port 443 (#0)
* ALPN: offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN: server accepted http/1.1
* Server certificate:
*   subject: CN=aliyun.com; O=myexample organization
*   start date: Apr 10 08:23:54 2023 GMT
*   expire date: Apr  9 08:23:54 2024 GMT
*   issuer: O=myexample Inc.; CN=aliyun.com
*   SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
* using HTTP/1.1
> HEAD /status/418 HTTP/1.1
> Host:b.aliyun.com
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 418 Unknown
HTTP/1.1 418 Unknown
< server: istio-envoy
server: istio-envoy
< date: Thu, 14 Sep 2023 08:20:13 GMT
date: Thu, 14 Sep 2023 08:20:13 GMT
< access-control-allow-origin: *
access-control-allow-origin: *
< x-more-info: http://tools.ietf.org/html/rfc2324
x-more-info: http://tools.ietf.org/html/rfc2324
< access-control-allow-credentials: true
access-control-allow-credentials: true
< content-length: 135
content-length: 135
< x-envoy-upstream-service-time: 1
x-envoy-upstream-service-time: 1

Çıktı, sunucu tarafından kabul edilen ALPN protokolünün HTTP/1.1 olduğunu gösterir. Bu durum, HTTP/2'nin devre dışı bırakıldığını doğrular.