全部产品
Search
文档中心

Global Accelerator:Konfigurasikan HTTP/2 untuk instance GA

更新时间:Jul 06, 2025

Untuk meningkatkan kinerja layanan HTTPS yang dikonfigurasikan dengan instance Global Accelerator (GA), Anda dapat mengaktifkan HTTP/2 pada instance GA tersebut. Setelah diaktifkan, layanan HTTPS dapat memanfaatkan fitur-fitur HTTP/2 untuk mengurangi latensi jaringan dan overhead serta meningkatkan pengalaman akses.

Apa itu HTTP/2

HTTP/2, juga dikenal sebagai HTTP/2.0, menawarkan peningkatan signifikan dibandingkan HTTP/1.1 melalui dukungan untuk multiplexing, kompresi header, prioritisasi permintaan, dan dorongan server. Fitur-fitur ini mengatasi berbagai masalah spesifik dalam HTTP/1.1 sambil tetap menjaga kompatibilitas semantiknya. HTTP/2 didukung oleh browser utama seperti Google Chrome, Microsoft Edge, Safari, dan Mozilla Firefox.

Keunggulan HTTP/2:

  • Pengkodean biner: Berbeda dengan protokol HTTP/1.x berbasis teks, semua komunikasi HTTP/2 dibagi menjadi pesan lebih kecil dan frame yang dienkripsi dalam format biner. Mekanisme ini membuat HTTP/2 lebih ekstensibel, memungkinkan transmisi data dan instruksi melalui frame.

  • Multiplexing: HTTP/1.x sering menghadapi head-of-line blocking (HOL blocking) karena batasan jumlah permintaan per nama domain. HTTP/2 menghilangkan kendala ini dengan memungkinkan aliran dua arah (permintaan dan respons) melalui satu koneksi TCP, masing-masing dengan pengenal unik dan header terenkapsulasi antara klien dan server.

  • Kompresi header: HTTP/2 menggunakan kompresi HPACK untuk mengurangi overhead header. Klien dan server memelihara daftar terindeks dari bidang header, digunakan sebagai referensi untuk mentransmisikan nilai sebelumnya melalui indeks, sehingga meningkatkan efisiensi transmisi data.

Negosiasi Koneksi HTTP/2

Selama proses negosiasi koneksi HTTPS, koneksi TLS harus dibentuk antara klien dan server sebelum data aplikasi dapat ditransmisikan. HTTP/2 menggunakan mekanisme Application-Layer Protocol Negotiation (ALPN) untuk memungkinkan klien dan server bernegosiasi versi protokol yang akan digunakan.

Setelah Anda mengaktifkan HTTP/2 untuk sebuah Global Accelerator instance, the Global Accelerator instance specifies h2 as the protocol version in the ALPN fields of the ClientHello message sent by the client. In addition, the GA instance ignores the protocol version in the ALPN fields of the ServerHello message returned by the server and forcefully uses HTTP/2 to connect to backend services.

Contoh

Sebuah perusahaan dengan kantor pusat di wilayah AS (Silicon Valley) telah menerapkan situs web HTTPS pada instance Elastic Compute Service (ECS) di virtual private cloud (VPC). Sebagian besar pengguna mengakses aplikasi dari wilayah China (Hong Kong). Untuk mengatasi masalah jaringan lintas batas seperti latensi, jitter, dan kehilangan paket, perusahaan membeli sebuah Global Accelerator instance.

Untuk lebih meningkatkan kinerja situs web, perusahaan memutuskan untuk mengonfigurasi pendengar HTTP/2 pada instance GA.

Jika layanan backend dari Global Accelerator instance menggunakan HTTPS, koneksi ke layanan backend akan menggunakan HTTP/1.1. Dalam situasi ini, perusahaan perlu memodifikasi konfigurasi Global Accelerator instance untuk menggunakan HTTP/2 saat terhubung ke layanan backend. Dengan melakukan ini, perusahaan dapat memanfaatkan keunggulan HTTP/2 dalam meningkatkan kinerja.

Batasan

Berikut adalah batasan yang berlaku saat mengonfigurasi HTTP/2 untuk instance GA:

  • Secara default, fitur pemilihan protocol version dinonaktifkan. Untuk menggunakan fitur ini, hubungi manajer akun Anda.

  • WebSocket tidak didukung.

  • HTTP/2 Server Push tidak didukung.

  • Permintaan Google Remote Procedure Call (gRPC) yang menggunakan HTTP/2 tidak dapat dipercepat.

Prasyarat

  • Sertifikat server dibeli atau diunggah di konsol Certificate Management Service. Untuk informasi lebih lanjut, lihat Beli sertifikat resmi dan Unggah dan bagikan sertifikat SSL.

  • Sertifikat diunggah ke server backend. Untuk informasi lebih lanjut, lihat Gunakan Cloud Assistant untuk mengunggah file ke instance ECS.

  • Layanan HTTPS yang menggunakan port 443 diterapkan dan HTTP/2 diaktifkan.

    Pastikan grup keamanan tempat server backend berada mengizinkan akses ke port TCP 443. Untuk informasi lebih lanjut, lihat Tambah aturan grup keamanan.

    Contoh kode untuk menerapkan layanan HTTPS NGINX yang menggunakan port 443 pada instance ECS dan mengaktifkan HTTP/2:

    1. Jalankan perintah berikut untuk menginstal NGINX dan menerapkan aplikasi uji:

      yum install -y nginx
      cd /usr/share/nginx/html/
      echo "Halo Dunia ! Ini adalah ECS." > index.html
    2. Jalankan perintah berikut untuk membuat sertifikat dan direktori untuk menyimpan kunci privat:

      mkdir -p /etc/pki/nginx/private/
    3. Jalankan perintah berikut untuk membuka file konfigurasi NGINX bernama nginx.conf. Modifikasi pengaturan protokol, simpan perubahan, dan keluar.

      vim /etc/nginx/nginx.conf

      Rincian konfigurasi:

      # Untuk informasi lebih lanjut tentang konfigurasi, lihat:
      #   * Dokumentasi Resmi Bahasa Inggris: http://nginx.org/en/docs/
      #   * Dokumentasi Resmi Bahasa Rusia: http://nginx.org/ru/docs/
      
      user nginx;
      worker_processes auto;
      error_log /var/log/nginx/error.log;
      pid /run/nginx.pid;
      
      
      events {
          worker_connections 1024;
      }
      
      http {
          log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                            '$status $body_bytes_sent "$http_referer" '
                            '"$http_user_agent" "$http_x_forwarded_for" "$server_protocol"';
          access_log  /var/log/nginx/access.log  main;
          sendfile            on;
          tcp_nopush          on;
          tcp_nodelay         on;
          keepalive_timeout   65;
          types_hash_max_size 4096;
      
          include             /etc/nginx/mime.types;
          default_type        application/octet-stream;
          server {
              # Aktifkan HTTP/2.
              listen       443 ssl http2;
              listen       [::]:443 ssl http2;
              server_name  _;
              root         /usr/share/nginx/html;
      
              # Tentukan jalur file sertifikat.
              ssl_certificate "/etc/pki/nginx/<cert-file-name>.pem";
              # Tentukan jalur kunci privat.
              ssl_certificate_key "/etc/pki/nginx/private/<cert-file-name>.key";
              ssl_session_cache shared:SSL:1m;
              ssl_session_timeout  10m;
              ssl_ciphers PROFILE=SYSTEM;
              ssl_prefer_server_ciphers on;
      
      
              error_page 404 /404.html;
                  location = /40x.html {
              }
      
              error_page 500 502 503 504 /50x.html;
                  location = /50x.html {
              }
          }
      
      }
    4. Jalankan perintah berikut untuk memulai ulang layanan NGINX:

      systemctl restart nginx.service
  • Sebuah Global Accelerator instance dibuat. Instance ECS tempat layanan NGINX diterapkan ditentukan sebagai titik akhir dari instance GA. Protokol layanan backend disetel ke HTTPS. Untuk informasi lebih lanjut, lihat Buat dan kelola instance GA standar.

  • Nama domain yang terkait dengan sertifikat dipetakan ke CNAME yang dialokasikan oleh Global Accelerator. Untuk informasi lebih lanjut, lihat Tambahkan rekaman CNAME untuk nama domain.

Konfigurasikan HTTP/2

Bagian ini hanya menjelaskan parameter kunci. Untuk informasi lebih lanjut tentang parameter grup titik akhir lainnya, lihat Konfigurasikan grup titik akhir pendengar rute cerdas.

  1. Masuk ke Konsol GA.

  2. Di halaman Instances, temukan instance GA yang ingin Anda kelola dan klik Configure Listeners di kolom Actions.

  3. Di tab Listeners, temukan pendengar yang ingin Anda kelola dan klik Edit Endpoint Group di kolom Actions.

  4. Di langkah Configure Listener & Protocol, klik Next.

  5. Di langkah Configure Endpoint Group, pilih HTTP/2 untuk Protocol Version dan klik Next.

    选择HTTP2.png

  6. Di langkah Confirm, periksa konfigurasi dan klik Submit.

Verifikasi

Sebelum dan setelah menyetel versi protokol ke HTTP/2 dalam konfigurasi grup titik akhir, Anda dapat melakukan langkah-langkah berikut untuk memeriksa apakah HTTP/2 berlaku:

  1. Buka browser di klien di wilayah China (Hong Kong) dan ketik https://<Nama domain dipercepat>. Tekan Enter untuk memeriksa apakah layanan backend dapat diakses.

  2. Masuk ke server backend di wilayah AS (Silicon Valley). Buka CLI dan jalankan perintah berikut untuk melihat catatan kunjungan terbaru.

    Anda dapat melihat versi protokol yang digunakan untuk mengirim permintaan ke server backend dalam detail catatan.

    tail -n 1 /var/log/nginx/access.log

    Gambar berikut menunjukkan catatan yang dikembalikan sebelum versi protokol disetel ke HTTP/2.默认HTTP1.1回源.pngGambar berikut menunjukkan catatan yang dikembalikan setelah versi protokol disetel ke HTTP/2.

    HTTP2回源.png

Referensi

Tutorial

  • Untuk informasi lebih lanjut tentang cara mengonfigurasi grup titik akhir, lihat Konfigurasikan grup titik akhir pendengar rute cerdas.

  • Untuk meningkatkan dari HTTP ke HTTP/3 guna meningkatkan kualitas layanan dan kinerja sistem, Anda dapat menyetel versi HTTP maksimum yang digunakan oleh klien ke HTTP/3. Untuk informasi lebih lanjut, lihat Aktifkan HTTP/3 untuk GA.

Referensi API

  • CreateEndpointGroup: membuat grup titik akhir. Anda dapat menggunakan EndpointProtocolVersion untuk menentukan versi HTTP yang digunakan untuk terhubung ke layanan backend.

  • UpdateEndpointGroup: memodifikasi grup titik akhir. Anda dapat menggunakan EndpointProtocolVersion untuk menentukan versi HTTP yang digunakan untuk terhubung ke layanan backend.

  • DeleteEndpointGroup: menghapus grup titik akhir.