Panduan Linux

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:

  1. Server Linux: Bisa Ubuntu, Debian, CentOS, atau distribusi lain.
  2. Akses root: Biar bisa install dan konfigurasi semua yang diperlukan.
  3. 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.

  1. Install Dependensi:

    sudo apt update
    sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
    
  2. 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
    
  3. 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.

  1. Buat Konfigurasi Server: Buka file konfigurasi NGINX di /usr/local/nginx/conf/nginx.conf dan tambahkan konfigurasi berikut di dalam blok http:

    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.

  2. 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.

  1. 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”.

  2. 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:

Sekian tutorial singkat buat setup NGINX dengan HTTP/3 QUIC di Linux. Semoga lancar dan website lo makin kenceng!

#Nginx #Tutorial