Tutorial NGINX HTTP/3 QUIC pada Linux
Apa itu HTTP/3 dan QUIC?
Sebelum kita mulai, yuk kenalan dulu sama HTTP/3 dan QUIC. HTTP/3 adalah versi terbaru dari protokol HTTP yang digunakan untuk mengirim data di web. Bedanya sama HTTP/2 atau HTTP/1.1, HTTP/3 pake protokol transport baru bernama QUIC (Quick UDP Internet Connections). QUIC ini dibangun di atas UDP, bukan TCP, yang bikin koneksi lebih cepat dan lebih aman. Jadi, kalo lo pake HTTP/3, website lo bakal lebih cepet dan lebih stabil, apalagi kalo koneksi internetnya nggak stabil.
Persiapan
Sebelum mulai, pastiin dulu lo udah punya:
- Server Linux: Bisa Ubuntu, Debian, CentOS, atau distribusi lain.
- Akses root: Biar bisa install dan konfigurasi semua yang diperlukan.
- Domain: Buat ngetes HTTP/3, lo butuh domain dengan sertifikat SSL/TLS. Bisa pake Let’s Encrypt buat dapetin sertifikat gratis.
Langkah 1: Install NGINX dengan Dukungan HTTP/3
Pertama, lo perlu install NGINX dengan dukungan HTTP/3. Sayangnya, NGINX versi stabil saat ini belum support HTTP/3 secara resmi, jadi kita perlu build dari source dengan patch QUIC.
Install Dependensi:
sudo apt update sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
Download Source NGINX dan Patch QUIC:
wget https://nginx.org/download/nginx-1.25.3.tar.gz tar xzf nginx-1.25.3.tar.gz git clone --recursive https://github.com/cloudflare/quiche
Build NGINX dengan QUIC:
cd nginx-1.25.3 ./configure --prefix=/usr/local/nginx \ --with-http_v3_module \ --with-http_ssl_module \ --with-http_v2_module \ --with-openssl=../quiche/deps/boringssl \ --with-quiche=../quiche make sudo make install
Langkah 2: Konfigurasi NGINX untuk HTTP/3
Setelah NGINX terinstall, saatnya konfigurasi.
Buat Konfigurasi Server: Buka file konfigurasi NGINX di
/usr/local/nginx/conf/nginx.conf
dan tambahkan konfigurasi berikut di dalam blokhttp
:server { listen 443 ssl; listen 443 quic reuseport; ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key; ssl_protocols TLSv1.3; ssl_prefer_server_ciphers on; add_header Alt-Svc 'h3=":443"; ma=86400'; add_header QUIC-Status $http3; location / { root /path/to/your/website; index index.html; } }
Ganti
/path/to/your/certificate.crt
dan/path/to/your/private.key
dengan path ke sertifikat SSL lo. Juga ganti/path/to/your/website
dengan path ke direktori website lo.Restart NGINX:
sudo /usr/local/nginx/sbin/nginx -s stop sudo /usr/local/nginx/sbin/nginx
Langkah 3: Verifikasi HTTP/3
Terakhir, kita perlu ngetes apakah HTTP/3 udah berjalan dengan baik.
Cek dengan Browser: Buka website lo di browser yang support HTTP/3 (seperti Chrome atau Firefox). Buka DevTools (F12), lalu ke tab “Network”. Refresh halaman, dan lihat kolom “Protocol”. Harusnya ada “h3” atau “http/2+quic/99”.
Cek dengan curl:
curl -I --http3 https://yourdomain.com
Ganti
yourdomain.com
dengan domain lo. Kalo berhasil, lo bakal liat header HTTP/3.
Troubleshooting
Kalo ada masalah, cek hal berikut:
- Pastiin sertifikat SSL lo valid dan path-nya bener di konfigurasi NGINX.
- Pastiin port 443 udah dibuka di firewall.
- Cek log error NGINX di
/usr/local/nginx/logs/error.log
buat liat pesan error.
Sekian tutorial singkat buat setup NGINX dengan HTTP/3 QUIC di Linux. Semoga lancar dan website lo makin kenceng!