All Products
Search
Document Center

Alibaba Cloud Service Mesh:Gunakan HTTP/3 untuk mengakses gerbang masuk ASM

Last Updated:Jun 27, 2026

HTTP/3 adalah versi utama ketiga dari protokol HTTP. Berbeda dengan HTTP/1.1 dan HTTP/2 yang menggunakan protokol TCP tradisional di lapisan transport, HTTP/3 mengadopsi protokol Quick UDP Internet Connection (QUIC) berbasis UDP. Perubahan ini memungkinkan HTTP/3 mencapai latensi lebih rendah, pemulihan kesalahan yang lebih tangguh, serta multiplexing koneksi yang lebih efisien. Topik ini menjelaskan cara mengonfigurasi layanan berbasis HTTP/3 pada gerbang ASM.

Informasi latar belakang

HTTP/3 menggunakan QUIC di atas UDP sebagai mekanisme transport dan karenanya memiliki keunggulan berikut dibandingkan HTTP/2:

  • Latensi handshake berkurang: HTTP/3 memanfaatkan fitur 0-RTT dari protokol QUIC untuk menyelesaikan pembentukan koneksi. (RTT adalah singkatan dari round trip time.) Selain itu, TLS terintegrasi ke dalam QUIC untuk mendukung enkripsi dan handshake secara simultan, sehingga sangat mengurangi latensi selama pembentukan koneksi.

  • Mekanisme multiplexing baru: HTTP/2 mengalami blokir kepala antrian (head-of-line blocking) di lapisan TCP. HTTP/3 menggunakan QUIC untuk melakukan multiplexing beberapa aliran independen dalam satu koneksi, dan aliran data tersebut saling independen. Bahkan jika sebuah paket dalam satu aliran data hilang, transmisi aliran data lainnya tidak terblokir. Dengan demikian, blokir pada satu aliran data tidak lagi memengaruhi kinerja transmisi seluruh koneksi.

  • Migrasi koneksi: HTTP/3 mendukung migrasi koneksi antar alamat IP yang berbeda, bahkan ketika lingkungan jaringan berubah, misalnya beralih dari jaringan Wi-Fi ke jaringan seluler. Hal ini menjamin kontinuitas dan stabilitas koneksi.

  • Keamanan: HTTP/3 mewajibkan penggunaan TLS 1.3 untuk transmisi terenkripsi, sehingga menjamin keamanan dan perlindungan privasi yang lebih tinggi.

Gerbang ASM mendukung HTTP/3. Anda dapat menggunakan HTTP/3 untuk mengakses layanan yang diekspos melalui gerbang ASM guna meningkatkan kinerja dan stabilitas layanan.

Prasyarat

Langkah 1: Aktifkan HTTP/3

  1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih ASM Instance > Base Information.

  3. Di pojok kanan atas halaman Base Information, klik Settings. Di sidebar yang muncul, pilih Enable HTTP/3.

Langkah 2: Aktifkan pendengar UDP pada gerbang masuk ASM

Protokol QUIC berbasis UDP. Oleh karena itu, Anda harus mengaktifkan pendengar UDP pada gerbang masuk ASM.

Pada contoh ini, Anda dapat memodifikasi konfigurasi YAML gerbang masuk ASM untuk mengaktifkan pendengar UDP pada Port 444 gerbang masuk ASM.

apiVersion: istio.alibabacloud.com/v1beta1
kind: IstioGateway
metadata:
  labels:
    asm-gateway-type: ingress
  name: ingressgateway
  namespace: istio-system
spec:
  ......
  ports:
    - name: http-0
      port: 80
      protocol: HTTP
      targetPort: 80
    -name: udp # Aktifkan pendengar UDP pada Port 444.
      port: 444
      protocol: UDP
      targetPort: 444
  ......
Catatan

Gerbang ASM mendukung pendengar TCP dan UDP pada port yang sama. Misalnya, Anda dapat menambahkan pendengar UDP pada Port 443 yang digunakan untuk mengekspos layanan HTTPS. Kedua pendengar tersebut tidak saling bertabrakan.

Langkah 3: Konfigurasikan Gateway Istio

QUIC mewajibkan komunikasi TLS. Oleh karena itu, Anda harus mengonfigurasi sertifikat untuk Gateway Istio. Perbarui konfigurasi Gateway Istio menggunakan file YAML berikut:

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: httpbin
  namespace: default
spec:
  selector:
    istio: ingressgateway
  servers:
    - hosts:
      - '*'
      port:
        name: test
        number: 80
        protocol: HTTP
    - hosts:
      - '*'
      port:
        name: quic
        number: 444
        protocol: HTTPS
      tls:
        credentialName: aliyun.com.cert
        mode: SIMPLE

Langkah 4: Lakukan pengujian untuk mengakses gerbang ASM menggunakan HTTP/3

curl adalah tool pengujian HTTP umum. Namun, perintah curl tidak mendukung HTTP/3 secara default. Anda dapat menjalankan perintah berikut untuk memeriksa apakah curl Anda mendukung HTTP/3:

curl --version | grep http3

Jika output yang mirip dengan berikut ditampilkan, perintah curl di lingkungan saat ini mendukung HTTP/3.

curl 8.9.0-DEV (aarch64-apple-darwin23.5.0) libcurl/8.9.0-DEV quictls/3.1.4 zlib/1.2.12 libidn2/2.3.7 nghttp2/1.59.0 ngtcp2/1.2.0 nghttp3/1.1.0

Jika tidak ada output yang ditampilkan, perintah curl di lingkungan saat ini tidak mendukung HTTP/3. Anda dapat membuat ulang curl versi yang mendukung HTTP/3. Untuk informasi selengkapnya, lihat Build with quictls.

Setelah proses build selesai, Anda dapat menjalankan perintah berikut untuk menguji apakah HTTP/3 didukung:

curl -k --http3-only -H Host:aliyun.com --resolve aliyun.com:444 :${IP address of the ASM gateway} https://aliyun.com:444/headers -v

Output yang diharapkan:

......
* Connected to aliyun.com (xxx.xx.xx.x) port 444
* using HTTP/3
* [HTTP/3] [0] OPENED stream for https://aliyun.com:444/headers
* [HTTP/3] [0] [:method: GET]
* [HTTP/3] [0] [:scheme: https]
* [HTTP/3] [0] [:authority: aliyun.com]
* [HTTP/3] [0] [:path: /headers]
* [HTTP/3] [0] [user-agent: curl/8.9.0-DEV]
* [HTTP/3] [0] [accept: */*]
> GET /headers HTTP/3
> Host:aliyun.com
> User-Agent: curl/8.9.0-DEV
> Accept: */*
>
* Request completely sent off
* old SSL session ID is stale, removing
< HTTP/3 200
< server: istio-envoy
< date: Wed, 26 Jun 2024 07:40:07 GMT
< content-type: application/json
< content-length: 460
< access-control-allow-origin: *
< access-control-allow-credentials: true
< x-envoy-upstream-service-time: 1
< alt-svc: h3=":444"; ma=86400
<
{
  "headers": {
    "Accept": "*/*",
    "Host": "aliyun.com",
    "Transfer-Encoding": "chunked",
    "User-Agent": "curl/8.9.0-DEV",
    "X-Envoy-Attempt-Count": "1",
    "X-Envoy-External-Address": "xx.xx.xx.xx",
    "X-Forwarded-Client-Cert": "xxxxxxx"
  }
}
* Connection #0 to host aliyun.com left intact

Referensi

  • Untuk informasi lebih lanjut mengenai alasan mengapa blokir kepala antrian di lapisan TCP pada HTTP/2 hanya dapat dikurangi tetapi tidak sepenuhnya dihindari, lihat Hypertext Transfer Protocol Version 2 (HTTP/2).

  • HTTP/3 memperkenalkan mekanisme multiplexing baru yang secara fundamental menyelesaikan masalah blokir kepala antrian. Dokumentasi resmi juga menjelaskan cara meningkatkan kinerja koneksi dengan menghindari blokir kepala antrian. Untuk informasi selengkapnya, lihat QUIC: A UDP-Based Multiplexed and Secure Transport.