Jika Anda menggunakan Global Accelerator untuk layanan HTTPS, Anda dapat mengaktifkan HTTP/2 pada koneksi ke layanan backend guna memanfaatkan fitur-fiturnya untuk meningkatkan performa, mengurangi latensi, dan menurunkan overhead jaringan.
Apa itu HTTP/2
Negosiasi HTTP/2
Untuk koneksi HTTPS, client dan server harus menetapkan koneksi Transport Layer Security (TLS) sebelum mengirim data aplikasi. Untuk mendukung HTTP/2, proses jabat tangan (handshake) menggunakan Application-Layer Protocol Negotiation (ALPN) guna menentukan versi protokol yang akan digunakan.
Saat Anda mengaktifkan HTTP/2 di Global Accelerator, sistem tersebut menentukan h2 dalam bidang ALPN pada pesan ClientHello selama proses jabat tangan TLS. Global Accelerator kemudian mengabaikan versi protokol yang dikembalikan oleh server dalam pesan ServerHello, sehingga memaksa koneksi HTTP/2 ke layanan backend.
Kasus penggunaan
Topik ini menggunakan skenario berikut: Sebuah perusahaan berkantor pusat di AS (Silicon Valley) dan meng-host website HTTPS-nya pada Instance ECS Alibaba Cloud. Sebagian besar klien berlokasi di Tiongkok (Hong Kong). Perusahaan tersebut menggunakan Global Accelerator untuk mengatasi masalah jaringan seperti latensi, jitter, dan kehilangan paket akibat ketidakstabilan jaringan publik lintas batas.
Untuk lebih meningkatkan performa website dan pengalaman pengguna, perusahaan berencana mengadopsi protokol HTTP/2.
Secara default, ketika Global Accelerator dikonfigurasi dengan HTTPS sebagai protokol layanan backend, sistem tersebut terhubung ke layanan backend menggunakan HTTP/1.1. Perusahaan kini perlu memodifikasi konfigurasi instans Global Accelerator untuk menentukan HTTP/2 pada koneksi backend agar dapat memanfaatkan sepenuhnya peningkatan performa protokol tersebut.
Batasan
Batasan berikut berlaku saat Anda mengonfigurasi Global Accelerator untuk menggunakan HTTP/2 dalam menghubungkan ke layanan backend:
-
Jika opsi Protocol Version tidak tersedia untuk instans Global Accelerator Anda, instans tersebut mungkin tidak mendukung fitur ini. Untuk mengaktifkannya, hubungi account manager Anda untuk melakukan upgrade instans.
-
Protokol WebSocket tidak didukung.
-
Fitur Server Push pada HTTP/2 tidak didukung.
-
Permintaan gRPC yang berbasis HTTP/2 tidak dapat dipercepat.
Prasyarat
-
Beli atau unggah sertifikat server di Konsol Layanan Manajemen Sertifikat. Untuk informasi lebih lanjut, lihat Beli sertifikat resmi dan Unggah, sinkronkan, dan bagikan sertifikat SSL.
-
Unggah file sertifikat ke server backend Anda. Untuk informasi lebih lanjut, lihat Gunakan Cloud Assistant untuk mengunggah file ke Instance ECS.
-
Server backend Anda telah men-deploy layanan HTTPS pada port 443 dengan versi protokol HTTP/2 diaktifkan.
Pastikan Anda telah menambahkan aturan untuk mengizinkan lalu lintas inbound pada port TCP 443 di grup keamanan server backend. Untuk informasi lebih lanjut, lihat Tambahkan aturan grup keamanan.
-
Buat instans Global Accelerator, tambahkan server backend sebagai titik akhir, dan atur protokol layanan backend ke HTTPS. Untuk informasi lebih lanjut, lihat Buat dan kelola instans Global Accelerator standar.
-
Pastikan domain Anda dipetakan ke alamat CNAME yang diberikan oleh instans Global Accelerator. Untuk informasi lebih lanjut, lihat Tambahkan Rekaman CNAME.
Konfigurasikan HTTP/2 untuk koneksi backend
Bagian ini hanya menjelaskan item konfigurasi utama yang relevan dengan skenario ini. Untuk informasi lebih lanjut tentang pengaturan kelompok titik akhir, lihat Tambahkan dan kelola kelompok titik akhir untuk pendengar perutean cerdas.
Masuk ke Konsol Global Accelerator.
-
Pada halaman Instances, temukan instans GA yang ingin Anda kelola dan klik Configure Listener di kolom Actions.
-
Pada tab Listeners, temukan pendengar target, lalu klik Modify Endpoint Group di kolom Actions.
-
Pada langkah wizard Configure Listener & Protocol, klik Next.
-
Pada langkah wizard Configure Endpoint Group, atur IP Version ke HTTP/2, lalu klik Next.
Atur Backend Service Protocol ke HTTPS dan Protocol Version ke HTTP/2.
-
Pada langkah Configuration Review, konfirmasi konfigurasi dan klik Submit.
Verifikasi hasil
Untuk memverifikasi bahwa HTTP/2 telah diaktifkan, lakukan langkah-langkah berikut sebelum dan sesudah Anda mengubah versi protokol.
-
Dari klien di wilayah Tiongkok (Hong Kong), buka browser dan masukkan
https://<nama domain yang dipercepat>. Anda seharusnya dapat mengakses layanan backend secara normal. -
Pada server backend di wilayah AS (Silicon Valley), buka jendela command line dan jalankan perintah berikut untuk melihat catatan akses terbaru.
Catatan akses menunjukkan versi protokol yang digunakan untuk meneruskan permintaan ke server backend.
tail -n 1 /var/log/nginx/access.logSebelum Anda mengonfigurasi versi protokol, log akses menunjukkan bahwa permintaan asal menggunakan protokol
HTTP/1.1.[root@iZxxx ~]# tail -n 1 /var/log/nginx/access.log 172.20.xxx - - [30/Jul/2024:14:40:40 +0800] "GET / HTTP/1.1" 200 27 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0 Safari/537.36 Edg/126.0.0.0" "47.76.xxx"Setelah Anda mengonfigurasi versi protokol ke HTTP/2, log akses menunjukkan bahwa permintaan asal menggunakan HTTP/2.0.
[root@iZrj95wxxx xxx ~]# tail -n 1 /var/log/nginx/access.log 172.20.xxx.xxx - - [30/Jul/2024:14:42:55 +0800] "GET / HTTP/2.0" 200 27 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0 Safari/537.36 Edg/126.0.0" "47.76.xxx.xxx"
Dokumen terkait
Tutorial
-
Untuk informasi detail tentang pengaturan kelompok titik akhir, lihat Tambahkan dan kelola kelompok titik akhir untuk pendengar perutean cerdas.
-
Untuk meningkatkan koneksi menghadap klien ke HTTP/3, atur versi HTTP maksimum untuk akses klien ke Global Accelerator menjadi HTTP/3. Untuk informasi lebih lanjut, lihat Gunakan HTTP/3 untuk meningkatkan pengalaman akses aplikasi Anda.
Referensi API
-
CreateEndpointGroup: Membuat kelompok titik akhir. Gunakan parameter
EndpointProtocolVersionuntuk menentukan versi protokol saat menghubungkan ke layanan backend. -
UpdateEndpointGroup: Memodifikasi konfigurasi bisnis kelompok titik akhir. Gunakan parameter
EndpointProtocolVersionuntuk menentukan versi protokol saat menghubungkan ke layanan backend. -
DeleteEndpointGroup: Menghapus kelompok titik akhir.