Konfigurasi HTTP/2 di NGINX untuk Kecepatan Lebih Tinggi
Hai guys! Kalian pasti udah nggak asing lagi dong sama NGINX, web server keren yang sering dipake buat nge-host website. Nah, kali ini kita bakal bahas gimana caranya konfigurasi HTTP/2 di NGINX biar website kalian bisa loading lebih cepet. HTTP/2 itu adalah versi terbaru dari protokol HTTP yang punya banyak kelebihan dibandingin sama HTTP/1.1, kayak multiplexing, header compression, dan server push. Yuk, langsung aja kita mulai!
1. Pastikan NGINX Versi Terbaru
Pertama-tama, pastiin dulu kalian pake NGINX versi terbaru. HTTP/2 udah didukung sejak NGINX versi 1.9.5. Buat ngecek versi NGINX yang kalian pake, buka terminal dan ketik:
nginx -v
Kalau versinya masih jadul, update dulu ya!
2. Aktifkan Modul HTTP/2
Setelah itu, kita perlu aktifin modul HTTP/2 di NGINX. Caranya gampang banget, tinggal buka file konfigurasi NGINX kalian. Biasanya file ini ada di /etc/nginx/nginx.conf
atau /etc/nginx/sites-available/default
. Cari bagian server
yang ada di dalam blok http
, terus tambahin http2
di belakang listen
. Contohnya kayak gini:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name contoh.com;
ssl_certificate /path/to/ssl/certificate.crt;
ssl_certificate_key /path/to/ssl/private.key;
# ... konfigurasi lainnya ...
}
Jangan lupa, HTTP/2 cuma bisa dipake kalo pake SSL/TLS. Jadi, pastiin dulu kalian udah punya sertifikat SSL ya!
3. Optimasi Pengaturan SSL
Biar makin cepet, kita bisa optimasi pengaturan SSL-nya. Tambahin beberapa baris kode di dalam blok server
kayak gini:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
Dengan pengaturan di atas, kita bisa ngejamin koneksi yang aman dan cepet.
4. Aktifkan Server Push (Opsional)
HTTP/2 punya fitur keren yang namanya server push. Fitur ini memungkinkan server buat ngirim sumber daya ke client sebelum client minta. Buat aktifin fitur ini, tambahin http2_push
di dalam blok location
yang sesuai. Contoh:
location = /index.html {
http2_push /style.css;
http2_push /script.js;
}
Tapi, hati-hati ya! Jangan asal push, soalnya bisa bikin performa malah jadi jelek kalo kebanyakan.
5. Restart NGINX
Setelah semua konfigurasi selesai, jangan lupa restart NGINX biar perubahan berlaku. Caranya:
sudo systemctl restart nginx
Atau kalo pake init script:
sudo service nginx restart
6. Verifikasi HTTP/2
Terakhir, kita perlu ngecek apakah HTTP/2 udah aktif dengan bener. Buka website kalian di browser, terus buka developer tools (biasanya pake F12). Di tab “Network”, klik kanan di header kolom terus pastiin “Protocol” udah dicentang. Kalo udah, kalian bakal liat kalo protokolnya pake h2
yang artinya HTTP/2.
Atau, kalian juga bisa pake tools online kayak https://tools.keycdn.com/http2-test buat ngecek.
Penutup
Nah, gampang banget kan konfigurasi HTTP/2 di NGINX? Dengan HTTP/2, website kalian bakal loading lebih cepet dan lebih efisien. Selamat mencoba, dan semoga website kalian makin kenceng!