Kā iespējot HTTP/2.0 Nginx


HTTP/2 ir jaunākais HTTP protokola standarts, tas ir HTTP/1.1 pēctecis. Tas kļūst arvien populārāks, pateicoties priekšrocībām, ko tas dod tīmekļa izstrādātājiem un lietotājiem kopumā. Tas nodrošina optimizētu transportēšanu HTTP semantikai, atbalstot visas HTTP/1.1 galvenās iezīmes, taču tā mērķis ir būt efektīvāks vairākos veidos.

Papildus HTTP/2 ir daudz funkciju, kas dod jums vairāk iespēju optimizēt vietni/lietojumprogrammu. Tas piedāvā patiesu multipleksēšanu un vienlaicīgumu, labāku galvenes saspiešanu (bināro kodējumu), labāku prioritāšu noteikšanu, labākus plūsmas kontroles mehānismus un jaunu mijiedarbības režīmu, ko sauc par “servera push”, kas serverim ļauj nosūtīt atbildes klientam. Nemaz nerunājot par to, ka HTTP/2 pamatā ir Google eksperimentālais SPDY protokols.

Tāpēc HTTP/2 galvenais mērķis ir samazināt kopējo tīmekļa lapu ielādes laiku, tādējādi uzlabojot veiktspēju. Tas koncentrējas arī uz tīkla un servera resursu izmantošanu, kā arī drošību, jo ar HTTP/2 SSL/TLS šifrēšana ir obligāta.

Šajā rakstā jūs uzzināsiet, kā iespējot Nginx ar HTTP/2 atbalstu Linux serveros.

  • NGINX 1.9.5 vai jaunākas versijas funkcionāla instalācija, kas izveidota ar moduli ngx_http_v2_module.
  • Pārliecinieties, ka jūsu vietnē tiek izmantots SSL/TLS sertifikāts. Ja jums tāda nav, varat iegūt no sevis parakstīta sertifikāta.

Jūs varat instalēt NGINX vai izvietot to ar LEMP skursteni, kā aprakstīts šādās rokasgrāmatās:

  • Kā instalēt Nginx CentOS 8
  • Kā instalēt LEMP serveri CentOS 8
  • Kā RHEL 8 instalēt NGINX, MySQL/MariaDB un PHP
  • Kā instalēt LEMP skursteni ar PhpMyAdmin Ubuntu 20.04
  • Instalējiet Nginx ar servera blokiem (virtuālie hosti) uz Debian 10
  • Kā Nginx izmantot kā HTTP slodzes līdzsvarotāju Linux

Kā iespējot HTTP/2.0 NGINX

Ja jums ir instalēta NGINX, pārbaudiet, vai tā tika izveidota, izmantojot moduli ngx_http_v2_module , izpildot šo komandu.

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

Kad esat konfigurējis vietni/lietojumprogrammu, ko NGINX apkalpo ar konfigurētu HTTPS, rediģēšanai atveriet vietņu virtuālā servera bloka (vai virtuālā resursdatora) failu.

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

Jūs varat iespējot HTTP/2 atbalstu, vienkārši pievienojot parametru http2 visām listen direktīvām, kā parādīts nākamajā ekrānuzņēmumā.

listen 443 ssl http2;

Servera bloka konfigurācijas paraugs izskatās šādi.

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    
}

Saglabājiet izmaiņas failā un aizveriet to.

Pēc tam pārbaudiet NGINX konfigurācijas sintaksi, ja tas ir kārtībā, restartējiet pakalpojumu Nginx.

# nginx -t
# systemctl restart nginx

Pēc tam atveriet tīmekļa pārlūkprogrammu, lai pārbaudītu, vai jūsu vietne tiek apkalpota, izmantojot HTTP/2.

http://www.example.com

Lai piekļūtu HTTP galvenēm, ar peles labo pogu noklikšķiniet uz redzamās tīmekļa lapas, opciju sarakstā atlasiet Pārbaudīt, lai atvērtu izstrādātāja rīkus, pēc tam noklikšķiniet uz cilnes Tīkls un atkārtoti ielādējiet lapu.

Pārbaudiet sadaļā Protokoli, lai redzētu, kādu vietni jūs izmantojat (ja neredzat Protokolu galveni, ar peles labo pogu noklikšķiniet uz jebkuras galvenes, piemēram, Nosaukums, pēc tam sarakstā pārbaudiet Protokols, lai to parādītu kā galveni).

Ja jūsu vietne darbojas ar HTTP/1.1, sadaļā Protokols, jūs redzēsiet http/1.1, kā parādīts nākamajā ekrānuzņēmumā.

Ja tas darbojas HTTP/2, sadaļā Protokols, jūs redzēsiet h2 , kā parādīts nākamajā ekrānuzņēmumā. Iespējams, vēlēsities atspējot pārlūka kešatmiņu, lai skatītu jaunāko saturu, kas tiek pasniegts tieši no tīmekļa servera.

Tas ir viss! Lai iegūtu papildinformāciju, skatiet moduļa ngx_http_v2_module dokumentāciju. Nevilcinieties uzdot jautājumus, izmantojot zemāk esošo atsauksmju veidlapu.