GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengaktifkan HTTP/2 di Server Web Apache di Ubuntu dan Debian

Protokol Transfer Hiperteks Versi 2 (HTTP/2 ) adalah versi terbaru dari protokol HTTP, diterbitkan sebagai standar IETF di RFC 7540 pada tahun 2015. Fokus protokol adalah pada kinerja; khususnya, latensi yang dirasakan pengguna akhir, jaringan, dan penggunaan sumber daya server. Salah satu tujuan utama adalah untuk memungkinkan penggunaan koneksi tunggal dari browser ke situs Web. Protokol ini kompatibel ke belakang, sehingga metode HTTP, kode status, dan semantik sama dengan versi protokol sebelumnya. Apache memiliki dukungan HTTP/2 sejak versi 2.4.17. Dalam tutorial ini, saya akan berasumsi bahwa Anda sudah memiliki konfigurasi TLS yang berfungsi, dan Anda telah menginstal versi Apache yang diperlukan pada distribusi Linux pilihan Anda, dan bahwa Anda tahu cara menggunakan Let's Encrypt, atau Anda tahu caranya menerbitkan sertifikat yang ditandatangani sendiri.

Tutorial ini telah diuji pada Debian 10 , Debian 9, Ubuntu 20.04 LTS, dan Ubuntu 18.04 LTS.

Prasyarat

Untuk mengaktifkan HTTP/2 di Apache, Anda harus memenuhi persyaratan berikut:

  • Pertama, Anda harus mengaktifkan HTTPS di server Anda. Semua browser utama mengizinkan penggunaan HTTP/2 hanya melalui HTTPS. Juga, TLS  versi protokol>=1.2 dengan cipher suite modern diperlukan.
  • Selanjutnya, pastikan Anda menjalankan Apache 2.4.17 atau lebih tinggi karena HTTP/2 didukung dari versi ini ke atas.
  • Selain itu, pastikan klien/browser Anda benar-benar mendukung HTTP/2.

Nonaktifkan modul mod_php

Sebelum kita dapat mengalihkan modul Apache MPM pada langkah berikutnya ke mpm_event, kita harus menonaktifkan mode mod_php lama dan menggantinya dengan mode PHP-FPM yang lebih modern. Perintah berbeda untuk setiap versi sistem Operasi, silakan gunakan yang cocok dengan sistem yang Anda instal.

Ubuntu 20,04 LTS

sudo apt-get install php7.4-fpm
sudo a2dismod php7.4
sudo a2enconf php7.4-fpm
sudo a2enmod proxy_fcgi

Debian 10

sudo apt-get install php7.3-fpm
sudo a2dismod php7.3
sudo a2enconf php7.3-fpm
sudo a2enmod proxy_fcgi

Ubuntu 18.04 LTS

sudo apt-get install php7.2-fpm
sudo a2dismod php7.2
sudo a2enconf php7.2-fpm
sudo a2enmod proxy_fcgi

Debian 9

sudo apt-get install php7.0-fpm
sudo a2dismod php7.0
sudo a2enconf php7.0-fpm
sudo a2enmod proxy_fcgi

Aktifkan Apache MPM yang kompatibel dengan HTTP/2

Secara default, Apache akan menggunakan MPM prefork. MPM ini tidak kompatibel dengan HTTP/2, jadi kami harus menggantinya dengan modul mpm_event yang lebih modern.

Pertama, kami menonaktifkan modul mpm_prefork:

sudo a2dismod mpm_prefork

Kemudian kita aktifkan modul mpm_event:

sudo a2enmod mpm_event

Aktifkan dukungan HTTP/2 di Apache

Agar HTTP/2 berfungsi di Apache, Anda perlu mengaktifkan dan memuat modul SSL dan HTTP/2. Untuk melakukannya, Anda dapat menjalankan perintah berikut di terminal Anda:

sudo a2enmod ssl

lalu

sudo a2enmod http2

Untuk mengaktifkan modul baru ini, Anda perlu menjalankan:

sudo systemctl restart apache2

Setelah mengaktifkan dan memuat modul Apache yang diperlukan, navigasikan ke direktori konfigurasi Apache Anda dan edit konfigurasi Apache.

Untuk mengaktifkan HTTP/2 di server web Apache Anda, tambahkan salah satu dari berikut ini ke konfigurasi Apache global Anda atau di dalam host virtual tertentu.

Protocols h2 http/1.1

Berikut adalah konfigurasi server virtual minimal yang dapat digunakan untuk mengaktifkan HTTP/2 di beberapa virtual host:

<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/public_html/example.com
SSLEngine on
SSLCertificateKeyFile /path/to/private.pem
SSLCertificateFile /path/to/cert.pem
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Protocols h2 http/1.1
</VirtualHost>

Untuk memeriksa apakah server Anda mendukung HTTP/2, Anda dapat menggunakan alat pengembang browser. Di bawah ini adalah tangkapan layar dari browser Google Chrome dan Apple Safari yang menunjukkan HTTP/2 berlaku di https://example.com domain.

Chrome

Safari

  • RFC 7540
  • HTTP/2

Ubuntu
  1. Bagaimana cara mengaktifkan mod_rewrite di server web ubuntu?

  2. Cara Menginstal dan mengkonfigurasi server web Apache di Ubuntu 13.10

  3. Cara Mengaktifkan HTTP/2 di Nginx di Ubuntu dan CentOS

  1. Cara menghapus server web Apache dari Ubuntu

  2. Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 18.04 / Debian 9

  3. Cara Menginstal dan Mengkonfigurasi Server Web Apache di Debian 11

  1. Cara Menginstal dan Mengkonfigurasi Server Web Apache di Ubuntu

  2. Cara Mengaktifkan Protokol HTTP/2 dengan Apache di Ubuntu 20.04

  3. Cara menginstal server web lighttpd di Debian 11 Bullseye atau Ubuntu 20.04