Kif Tippermetti HTTP/2.0 f'Nginx


HTTP/2 huwa l-aħħar standard għall-protokoll HTTP, huwa s-suċċessur ta 'HTTP/1.1. Qed isir dejjem aktar popolari minħabba l-benefiċċji li ġġib lill-iżviluppaturi tal-web u lill-utenti b'mod ġenerali. Jipprovdi trasport ottimizzat għas-semantika HTTP billi jappoġġa l-karatteristiċi ewlenin kollha ta 'HTTP/1.1 iżda għandu l-għan li jkun aktar effiċjenti f'diversi modi.

Hemm ħafna karatteristiċi fuq HTTP/2 li jagħtuk aktar possibbiltajiet biex tottimizza websajt/applikazzjoni. Joffri multiplexing u konkorrenza reali, kompressjoni aħjar tal-header (kodifikazzjoni binarja), prijoritizzazzjoni aħjar, mekkaniżmi aħjar ta' kontroll tal-fluss, u mod ta' interazzjoni ġdid imsejjaħ \server push li jippermetti lil server jimbotta r-risponsi lil klijent. Biex ma nsemmux, HTTP /2 hija bbażata fuq il-protokoll SPDY sperimentali ta 'Google.

Għalhekk, il-fokus primarju ta 'HTTP/2 huwa li jitnaqqas il-ħin ġenerali tat-tagħbija tal-paġna tal-web, u b'hekk ittejjeb il-prestazzjoni. Tiffoka wkoll fuq l-użu tar-riżorsi tan-netwerk u tas-server kif ukoll is-sigurtà għaliex, b'HTTP/2, l-encryption SSL/TLS hija obbligatorja.

F'dan l-artikolu, int se titgħallem kif tippermetti Nginx b'appoġġ HTTP/2 fis-servers Linux.

  • Installazzjoni ta' ħidma ta' NGINX verżjoni 1.9.5 jew ogħla, mibnija bil-modulu ngx_http_v2_module.
  • Aċċerta ruħek li s-sit tiegħek juża ċertifikat SSL/TLS, jekk ma jkollokx wieħed, tista' tikseb minn ċertifikat iffirmat minnu nnifsu.

Tista' tinstalla NGINX jew tiskjeraha b'munzell LEMP kif deskritt fil-gwidi li ġejjin:

  • Kif tinstalla Nginx fuq CentOS 8
  • Kif Tinstalla LEMP Server fuq CentOS 8
  • Kif Tinstalla NGINX, MySQL/MariaDB u PHP fuq RHEL 8
  • Kif tinstalla LEMP Stack ma' PhpMyAdmin f'Ubuntu 20.04
  • Installa Nginx bi Server Blocks (Virtual Hosts) fuq Debian 10
  • Kif tuża Nginx bħala HTTP Load Balancer fil-Linux

Kif Tippermetti HTTP/2.0 f'NGINX

Jekk għandek NGINX installat, ivverifika li nbniet bil-modulu ngx_http_v2_module billi tħaddem il-kmand li ġej.

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

Ladarba jkollok sit web/applikazzjoni li qed tiġi moqdija minn NGINX b'HTTPS konfigurat, iftaħ il-fajl tal-blokk tas-server virtwali tal-websajts tiegħek (jew host virtwali) għall-editjar.

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

Tista 'tippermetti l-appoġġ HTTP/2 billi sempliċement iżżid il-parametru http2 mad-direttivi kollha listen kif muri fil-screenshot li ġej.

listen 443 ssl http2;

Il-konfigurazzjoni tal-blokk tas-server tal-kampjun tidher bħal hawn taħt.

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    
}

Issejvja l-bidliet fil-fajl u agħlaqha.

Imbagħad iċċekkja s-sintassi tal-konfigurazzjoni ta 'NGINX, jekk huwa OK, ibda mill-ġdid is-servizz Nginx.

# nginx -t
# systemctl restart nginx

Sussegwentement, iftaħ web browser biex tivverifika jekk il-websajt tiegħek tkunx qed tiġi moqdija fuq HTTP/2.

http://www.example.com

Biex taċċessa l-headers HTTP, ikklikkja bil-lemin fuq il-paġna web murija, agħżel Spezzjona mil-lista ta 'għażliet biex tiftaħ l-għodod tal-iżviluppatur, imbagħad ikklikkja t-tab tan-Netwerk, u erġa' tagħbija l-paġna.

Iċċekkja taħt Protokolli biex tara dak li qed juża s-sit tiegħek (jekk ma tarax l-intestatura tal-Protokolli, ikklikkja bil-lemin fuq kwalunkwe waħda mill-intestaturi eż. Isem, imbagħad iċċekkja l-Protokoll mil-lista biex turih bħala header).

Jekk is-sit tiegħek qed jaħdem fuq HTTP/1.1, taħt Protokoll, se tara http/1.1 kif muri fil-screenshot li ġej.

Jekk qed taħdem fuq HTTP/2, taħt Protokoll, tara h2 kif muri fil-screenshot li ġej. Jista' jkun li trid tiddiżattiva l-cache tal-browser biex tara l-aħħar kontenut li qed jiġi moqdi direttament mill-webserver.

Dak kollox! Għal aktar informazzjoni, ara d-dokumentazzjoni tal-modulu ngx_http_v2_module. Toqgħodx lura milli tistaqsi mistoqsijiet permezz tal-formola ta' feedback hawn taħt.