De la înființarea World Wide Web (www), HTTP protocolul a evoluat de-a lungul anilor pentru a oferi conținut digital sigur și rapid pe internet.
Cea mai utilizată versiune este HTTP 1.1 și în timp ce include pachete cu îmbunătățiri ale caracteristicilor și optimizări de performanță pentru a aborda neajunsurile versiunilor anterioare, nu se încadrează în alte câteva caracteristici importante care au fost adresată de HTTP / 2.
HTTP / 1.1 protocolul este plin de următoarele deficiențe care îl fac mai puțin ideal mai ales atunci când rulează servere web cu trafic mare:
Problemele menționate mai sus au dus adesea la degradarea performanței și la costuri generale ridicate în utilizarea lățimii de bandă. HTTP / 2 a intrat în imagine pentru a rezolva aceste probleme și este acum viitorul pentru protocoalele HTTP.
Oferă următoarele avantaje:
Acestea fiind spuse, vom permite HTTP / 2 pe Apache pe Ubuntu 20.04 LTS și Ubuntu 18.04 LTS.
Înainte de a începe, asigurați-vă că activați HTTPS pe serverul web Apache înainte de activare HTTP / 2. Acest lucru se datorează faptului că toate browserele web mainstream acceptă HTTP / 2 peste HTTPS. Am un nume de domeniu indicat spre o instanță pe Ubuntu 20.04 care este rulează serverul Apache securizat folosind Să criptăm certificatul.
De asemenea, este recomandat să aveți Apache 2.4.26 și versiunile ulterioare pentru serverele de producție care intenționează să treacă la HTTP / 2.
Pentru a verifica versiunea de Apache executați, executați comanda:
$ apache2 -v.
Din rezultat, puteți vedea că folosim cea mai recentă versiune, care este Apache 2.4.41 în momentul redactării acestui articol.
Pentru a începe, confirmați mai întâi că serverul web rulează HTTP / 1.1. Puteți face acest lucru dintr-un browser deschizând secțiunea Instrumente pentru dezvoltatori de pe Google Chrome folosind Ctrl + SHIFT + I
combinaţie. Faceți clic pe „ReţeaȘi localizați fila „Protocol’Coloană.
Apoi, activați HTTP / 2 modulul activat Ubuntu executând următoarea comandă.
$ sudo a2enmod http2.
Apoi, localizați și editați fișierul SSL fișier gazdă virtuală, dacă ați activat utilizarea HTTPS Să criptăm, este creat un fișier nou cu un fișier le-ssl.conf sufix.
$ sudo vim /etc/apache2/sites-enabled/your-domain-name-le-ssl.conf.
Introduceți directiva de mai jos după etichetă.
Protocoale h2 http / 1.1.
Pentru a salva modificările, reporniți serverul web Apache.
$ sudo systemctl reporniți apache2.
Pentru a verifica dacă HTTP / 2 este activat, preluați anteturile HTTP folosind următoarele comanda curl ca spectacol.
$ curl -I --http2 -s https://domain.com/ | grep HTTP.
Ar trebui să obțineți rezultatul afișat.
HTTP / 2 200.
În browser, reîncarcă site-ul. Apoi reveniți la instrumentele pentru dezvoltatori și confirmați HTTP / 2 denotat de h2
etichetă pe „Protocol’Coloană.
Dacă alergi Apache alături de mod_php modul, trebuie să treceți la PHP-FPM. Acest lucru se datorează faptului că mod_php modulul folosește prefork MPM modul care nu este acceptat de HTTP / 2. Trebuie să dezinstalați preforkul MPM și comutați la mpm_event modul care va fi acceptat de HTTP / 2.
Dacă utilizați fișierul PHP 7.4 mod_php modul, de exemplu, dezactivați-l așa cum se arată:
$ sudo a2dismod php7.4
Ulterior, dezactivați preforkul MPM modul.
$ sudo a2dismod mpm_prefork.
După dezactivarea modulelor, apoi activați MPM eveniment, Fast_CGI, și setenvif module așa cum se arată.
$ sudo a2enmod mpm_event proxy_fcgi setenvif.
Apoi, instalați și porniți PHP-FPM așa cum se arată.
$ sudo apt instalează php7.4-fpm $ sudo systemctl pornește php7.4-fpm.
Apoi activați PHP-FPM pentru a începe la momentul pornirii.
$ sudo systemctl activează php7.4-fpm.
Apoi, activați PHP-FPM ca manipulator PHP Apache și reporniți serverul web Apache pentru ca modificările să fie efectuate.
$ sudo a2enconf php7.4-fpm.
Apoi activați modulul HTTP / 2 ca înainte.
$ sudo a2enmod http2.
Reporniți Apache pentru a sincroniza toate modificările.
$ sudo systemctl reporniți apache2.
În cele din urmă, puteți testa dacă serverul dvs. utilizează HTTP / 2 protocol folosind comanda curl așa cum se arată.
$ curl -I --http2 -s https://domain.com/ | grep HTTP.
De asemenea, puteți opta pentru utilizarea instrumentelor pentru dezvoltatori de pe Google Chrome browser pentru a verifica conform documentării anterioare. Avem până la sfârșitul acestui ghid, Sperăm că ați găsit informațiile valoroase și că le puteți permite confortabil HTTP / 2 pe Apache cu ușurință.