Jinsi ya kuwezesha HTTP/2.0 katika Nginx


HTTP/2 ndicho kiwango cha hivi punde zaidi cha itifaki ya HTTP, ndicho mrithi wa HTTP/1.1. Inazidi kuwa maarufu kwa sababu ya faida inayoleta kwa watengenezaji wa wavuti na watumiaji kwa ujumla. Inatoa usafiri ulioboreshwa kwa semantiki za HTTP kwa kutumia vipengele vyote vya msingi vya HTTP/1.1 lakini inalenga kuwa bora zaidi katika njia nyingi.

Kuna vipengele vingi juu ya HTTP/2 ambavyo vinakupa uwezekano zaidi wa kuboresha tovuti/programu. Inatoa uzidishaji na upatanishi wa kweli, ukandamizaji bora wa kichwa (usimbaji jozi), uwekaji vipaumbele bora, mbinu bora za udhibiti wa mtiririko, na hali mpya ya mwingiliano inayoitwa \kusukuma kwa seva ambayo huwezesha seva kusukuma majibu kwa mteja. Bila kusahau, HTTP /2 inatokana na itifaki ya majaribio ya Google ya SPDY.

Kwa hiyo, lengo la msingi la HTTP/2 ni kupunguza muda wa jumla wa upakiaji wa ukurasa wa wavuti, hivyo kuboresha utendaji. Pia inaangazia utumiaji wa rasilimali za mtandao na seva pamoja na usalama kwa sababu, kwa HTTP/2, usimbaji fiche wa SSL/TLS ni wa lazima.

Katika nakala hii, utajifunza jinsi ya kuwezesha Nginx na usaidizi wa HTTP/2 kwenye seva za Linux.

  • Usakinishaji unaofanya kazi wa NGINX toleo la 1.9.5 au la juu zaidi, uliojengwa kwa moduli ya ngx_http_v2_moduli.
  • Hakikisha kuwa tovuti yako inatumia cheti cha SSL/TLS, ikiwa huna, unaweza kupata kutoka kwa cheti ulichojiandikisha.

Unaweza kusakinisha NGINX au kupeleka kwa stack ya LEMP kama ilivyoelezwa katika miongozo ifuatayo:

  • Jinsi ya kusakinisha Nginx kwenye CentOS 8
  • Jinsi ya Kusakinisha Seva ya LEMP kwenye CentOS 8
  • Jinsi ya Kusakinisha NGINX, MySQL/MariaDB na PHP kwenye RHEL 8
  • Jinsi ya Kusakinisha LeMP Stack na PhpMyAdmin katika Ubuntu 20.04
  • Sakinisha Nginx ukitumia Blocks za Seva (Wapangishi pepe) kwenye Debian 10
  • Jinsi ya Kutumia Nginx kama Kisawazisha cha Upakiaji cha HTTP kwenye Linux

Jinsi ya kuwezesha HTTP/2.0 katika NGINX

Ikiwa umesakinisha NGINX, thibitisha kwamba ilijengwa kwa ngx_http_v2_module kwa kutekeleza amri ifuatayo.

# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module

Pindi tu unapopata tovuti/programu inayotumiwa na NGINX na HTTPS imesanidiwa, fungua tovuti yako ya uzuiaji wa seva pepe (au seva pangishi) ili uihaririwe.

# vi /etc/nginx/conf.d/example.com.conf                    [On CentOS/RHEL]
$ sudo nano /etc/nginx/sites-available/example.com.conf    [On Ubuntu/Debian]

Unaweza kuwezesha usaidizi wa HTTP/2 kwa kuongeza kigezo cha http2 kwa maagizo yote ya sikiliza kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

listen 443 ssl http2;

Sampuli ya usanidi wa kuzuia seva inaonekana kama hapa chini.

server {
        server_name example.com www.example.com;
        access_log  /var/log/nginx/example.com_access.log;
        error_log  /var/log/nginx/example.com_error.log;

        listen [::]:443 ssl ipv6only=on http2; # managed by Certbot
        listen 443 ssl http2; # managed by Certbot

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot    
}

Hifadhi mabadiliko kwenye faili na uifunge.

Kisha angalia syntax ya usanidi wa NGINX, ikiwa ni sawa, fungua upya huduma ya Nginx.

# nginx -t
# systemctl restart nginx

Kisha, fungua kivinjari ili kuthibitisha ikiwa tovuti yako inatolewa kupitia HTTP/2.

http://www.example.com

Ili kufikia vichwa vya HTTP, bofya kulia kwenye ukurasa wa wavuti unaoonyeshwa, chagua Kagua kutoka kwenye orodha ya chaguo ili kufungua zana za msanidi, kisha ubofye kichupo cha Mtandao, na upakie upya ukurasa.

Angalia chini ya Itifaki ili kuona ile ambayo tovuti yako inatumia (ikiwa huoni kichwa cha Itifaki, bofya kulia kwenye vichwa vyovyote k.m Jina, kisha angalia Itifaki kutoka kwenye orodha ili kuionyesha kama kichwa).

Ikiwa tovuti yako inaendeshwa kwenye HTTP/1.1, chini ya Itifaki, utaona http/1.1 kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

Ikiwa inaendeshwa kwenye HTTP/2, chini ya Itifaki, utaona h2 kama inavyoonyeshwa kwenye picha ya skrini ifuatayo. Unaweza kutaka kuzima akiba ya kivinjari ili kutazama maudhui ya hivi punde yanayotolewa moja kwa moja kutoka kwa seva ya tovuti.

Ni hayo tu! Kwa habari zaidi, angalia hati za moduli ya ngx_http_v2_module. Usisite kuuliza maswali kupitia fomu ya maoni hapa chini.