Fitur HTTP/2 di Apache HTTP Server tidak Bekerja? Berikut Solusinya!

Selamat datang kembali di ChotibulStudio. Pada artikel kali ini, saya akan membahas solusi dari fitur HTTP/2 pada Apache HTTP Server yang tidak berjalan/bekerja sebagaimana mestinya.

HTTP/2 merupakan pengembangan sekaligus menjadi revisi terbesar pada dunia World Wide Web, setelah HTTP/1.1 atau HTTP versi pertama diperkenalkan.

Apakah fitur ini penting untuk situs web Anda?

Ya, sebenarnya penting, nggak penting, sih. Toh, kalau masih pake HTTP/1.1, situs web kita juga masih berjalan/bekerja dengan baik.

Nah!, tetapi, bagi Anda yang selalu up to date dengan teknologi, tentunya fitur HTTP/2 sangat penting untuk situs yang lebih modern dan kekinian. Apalagi kebanyakan peramban web sudah mendukung fitur tersebut sejak lama. Jadi, sayangkan kalau tidak dimanfaatkan?

Pada artikel ini, saya hanya akan membahas permasalahan fitur HTTP/2 di Apache HTTP Server yang tidak berjalan sebagaimana mestinya. Berikut solusi selengkapnya!

Kompatibilitas dukungan antar modul Apache

Modul yang dimaksud adalah modul Apache MPM (Multi-Process Module) prefork (mpm_prefork) yang ternyata sejak Apache versi 2.4.27 sudah tidak lagi mendukung fitur HTTP/2.

Padahal, modul tersebut sangat bergantung dengan modul krusial yang lain, seperti modul php8.x. Dimana modul PHP tersebut menjadi syarat utama bagi kita untuk menjalankan web yang berbahasa skrip PHP.

Apabila kita ingin menonaktifkan modul mod_prefork, maka kita harus menonaktifkan modul PHP terlebih dahulu. Dengan ini, berarti harus ada down time yang terjadi pada situs web kita.

Solusi agar fitur HTTP/2 berjalan/bekerja dengan baik di Apache HTTP Server

Apache itu mungkin mudah (untuk dikonfigurasi), tetapi kita juga harus faham dengan modul-modul-nya.

 1. Matikan layanan Apache HTTP Server

Anda bisa mengeksekusi perintah berikut:

$ sudo apachectl stop

2. Pasang paket PHP-FPM

Sesuaikan dengan versi PHP yang disediakan oleh repositori yang Anda pakai, saat ini.

$ sudo apt install php8.3-fpm

3. Aktifkan modul dan konfigurasi PHP-FPM untuk Apache

Eksekusi perintah berikut untuk mengaktifkan modul proxy_fcgi untuk menggantikan modul php8.x sebelumnya.

$ sudo a2enmod proxy_fcgi setenvif

Eksekusi perintah berikut untuk mengaktifkan konfigurasi php8.3-fpm.

$ sudo a2enconf php8.3-fpm

Catatan, apabila Anda sudah melakukan konfigurasi pada backend php8.x, maka kemungkinan Anda harus melakukannya juga pada backend php8.3-fpm terbaru ini.

4. Nonaktifkan modul php8.x dan mpm_prefork

Eksekusi perintah berikut untuk menonaktifkan modul php8.x.

$ sudo a2dismod php8.x mpm_prefork

5. Aktifkan modul mpm_event dan modul http2

Agar Apache HTTP Server masih mendukung multi-process, ada baiknya Anda menonaktifkan modul mpm_event atau mpm_worker. Eksekusi perintah berikut.

$ sudo a2enmod mpm_event http2

6. Terakir, nyalakan kembali Apache HTTP Server

Eksekusi perintah berikut.

$ sudo systemctl start apache2

Sampai pada langkah ini, Apache HTTP Server sudah berjalan/bekerja pada protokol HTTP/2.

Komentar

  1. Artikel yang sangat informatif! Penjelasan mengenai masalah HTTP/2 yang tidak bekerja di Apache HTTP Server dan solusi-solusinya sangat jelas dan mudah diikuti. Terutama solusi tentang memeriksa konfigurasi mod_http2, memastikan TLS 1.2 atau lebih tinggi diaktifkan, serta memastikan bahwa HTTP/2 diaktifkan pada konfigurasi Apache benar-benar membantu. Saya sangat puas dengan cara artikel ini disusun dan sangat merekomendasikan bagi siapa saja yang menghadapi masalah serupa. Terima kasih atas penjelasan yang sangat bermanfaat!

    BalasHapus

Posting Komentar

Silahkan tinggalkan komentar Anda di sini.

Postingan populer dari blog ini

Daftar Rekomendasi Repositori Lokal Debian 11 "Bullseye"

Cara Memperbaiki Masalah "KVM virtualisation is configured, but not available" di Proxmox

Cara Memasang Sectigo PositiveSSL Wildcard di Ubuntu 22.04 untuk Nginx atau Apache