Cara mengaktifkan http/2 di apache di ubuntu

Cara mengaktifkan http/2 di apache di ubuntu

Sejak awal World Wide Web (www), the Http Protokol telah berkembang selama bertahun -tahun untuk memberikan konten digital yang aman dan cepat melalui internet.

Versi yang paling banyak digunakan adalah Http 1.1 Dan sementara itu dikemas dengan peningkatan fitur dan optimisasi kinerja untuk mengatasi kekurangan versi sebelumnya, itu jauh dari beberapa fitur penting lainnya yang telah ditangani oleh Http/2.

Apa keterbatasan http/1.1?

Itu Http/1.1 Protokol penuh dengan kekurangan berikut yang membuatnya kurang ideal terutama saat menjalankan server web lalu lintas tinggi:

  1. Keterlambatan memuat halaman web karena header http panjang.
  2. Http/1.1 hanya dapat mengirim satu permintaan untuk setiap file per koneksi TCP.
  3. Mengingat bahwa http/1.1 memproses satu permintaan untuk setiap koneksi TCP, browser dipaksa untuk mengirim banjir koneksi TCP paralel untuk secara bersamaan memproses permintaan tersebut. Hal ini menyebabkan kemacetan TCP dan akhirnya pemborosan bandwidth dan degradasi jaringan.

Masalah yang disebutkan di atas sering menyebabkan degradasi kinerja dan biaya overhead yang tinggi dalam penggunaan bandwidth. Http/2 datang ke dalam gambar untuk mengatasi masalah ini dan sekarang menjadi masa depan untuk protokol HTTP.

Keuntungan menggunakan HTTP/2

Ini menawarkan keunggulan berikut:

  1. Kompresi header yang meminimalkan permintaan klien dan dengan demikian menurunkan konsumsi bandwidth. Efek yang dihasilkan adalah kecepatan beban halaman cepat.
  2. Multiplexing beberapa permintaan atas satu koneksi TCP. Baik server dan klien dapat memecah permintaan HTTP menjadi beberapa frame dan menyusun kembali di ujung lainnya.
  3. Pertunjukan web yang lebih cepat yang akibatnya mengarah pada peringkat SEO yang lebih baik.
  4. Keamanan yang ditingkatkan karena sebagian besar browser arus utama memuat http/2 melalui https.
  5. HTTP/2 dianggap lebih ramah mobile berkat fitur kompresi header.

Yang mengatakan, kami akan mengaktifkan Http/2 pada Apache pada Ubuntu 20.04 lts Dan Ubuntu 18.04 lts.

Prasyarat:

Sebelum memulai, pastikan Anda mengaktifkan Https di Webserver Apache sebelum mengaktifkan Http/2. Ini karena semua dukungan browser web arus utama Http/2 lebih Https. Saya memiliki nama domain yang menunjuk ke contoh di Ubuntu 20.04 yang menjalankan server apache yang dijamin menggunakan sertifikat ayat enkripsi.

Juga, disarankan Anda miliki Apache 2.4.26 dan versi yang lebih baru untuk server produksi yang bermaksud untuk bergeser ke Http/2.

Untuk memeriksa versi Apache Anda menjalankan, menjalankan perintah:

$ apache2 -v 
Periksa versi Apache di Ubuntu

Dari output, Anda dapat melihat bahwa kami menggunakan versi terbaru, yaitu Apache 2.4.41 Pada saat menuliskan artikel ini.

Aktifkan http/2 pada host virtual apache

Untuk memulai, pertama kali konfirmasi bahwa server web sedang berjalan Http/1.1. Anda dapat melakukan ini di browser dengan membuka bagian alat pengembang Google Chrome menggunakan Ctrl + Shift + I kombinasi. Klik pada 'Jaringan'tab dan temukan'Protokol'Kolom.

Konfirmasi Versi Protokol HTTP

Selanjutnya, aktifkan Http/2 modul di Ubuntu dengan menjalankan perintah berikut.

$ sudo a2enmod http2 
Aktifkan http/2 di ubuntu

Selanjutnya, temukan dan edit SSL file host virtual, jika Anda telah mengaktifkan https menggunakan Mari Enkripsi, File baru dibuat dengan le-ssl.conf akhiran.

$ sudo vim/etc/apache2/situs-mendukung/domain-name-le-ssl Anda.conf 

Masukkan arahan di bawah ini setelah menandai.

Protokol H2 HTTP/1.1 
Aktifkan HTTP/2 di Apache

Untuk menyimpan perubahan, restart Webserver Apache.

$ sudo systemctl restart apache2 

Untuk memeriksa apakah Http/2 diaktifkan, ambil header http menggunakan perintah curl berikut sebagai pertunjukan.

$ curl -i --http2 -s https: // domain.com/ | grep http 
Periksa dukungan HTTP/2 di Apache

Anda harus mendapatkan output yang ditampilkan.

Http/2 200 

Di browser, muat ulang situs Anda. Kemudian kembali ke alat pengembang dan konfirmasi http/2 yang dilambangkan dengan H2 label pada 'Protokol'Kolom.

Konfirmasi Versi Protokol HTTP/2

Saat menggunakan modul mod_php dengan Apache

Jika Anda berlari Apache di samping mod_php modul, Anda perlu beralih ke Php-fpm. Ini karena mod_php Modul menggunakan Prefork MPM modul yang tidak didukung oleh Http/2. Anda perlu menghapus instalan prefork MPM dan beralih ke mpm_event modul yang akan didukung oleh Http/2.

Jika Anda menggunakan PHP 7.4 mod_php Modul, misalnya, nonaktifkan seperti yang ditunjukkan:

$ sudo a2dismod php7.4 
Nonaktifkan modul mod_php

Setelah itu, nonaktifkan prefork MPM modul.

$ sudo a2dismod mpm_prefork 
Nonaktifkan Prefork MPM di Apache

Setelah menonaktifkan modul, selanjutnya, aktifkan Acara MPM, Fast_cgi, Dan setenvif modul seperti yang ditunjukkan.

$ sudo a2enmod mpm_event proxy_fcgi setenvif 
Aktifkan acara MPM di Apache

Instal PHP-FPM di Ubuntu

Selanjutnya, instal dan mulai Php-fpm seperti yang ditunjukkan.

$ sudo apt instal php7.4-fpm $ sudo systemctl mulai php7.4-fpm 

Lalu aktifkan Php-fpm untuk memulai waktu boot.

$ sudo systemctl mengaktifkan php7.4-fpm 

Selanjutnya, aktifkan Php-fpm sebagai penangan php Apache dan restart server web apache untuk perubahan yang akan dilakukan.

$ sudo a2enconf php7.4-fpm 

Aktifkan dukungan HTTP/2 di Apache Ubuntu

Kemudian aktifkan modul http/2 seperti sebelumnya.

$ sudo a2enmod http2 

Restart Apache untuk menyinkronkan semua perubahan.

$ sudo systemctl restart apache2 

Akhirnya, Anda dapat menguji apakah server Anda menggunakan Http/2 protokol menggunakan perintah curl seperti yang ditunjukkan.

$ curl -i --http2 -s https: // domain.com/ | grep http 
Periksa HTTP/2 Protokol di Apache

Anda juga dapat memilih untuk menggunakan alat pengembang di Google Chrome browser untuk memverifikasi seperti yang didokumentasikan sebelumnya. Kami harus akhir dari panduan ini, kami harap Anda menemukan informasi yang berharga dan bahwa Anda dapat dengan nyaman mengaktifkan Http/2 pada Apache dengan mudah.