Kaip įjungti HTTP/2.0 „Nginx“.


HTTP/2 yra naujausias HTTP protokolo standartas, jis yra HTTP/1.1 įpėdinis. Jis tampa vis populiaresnis dėl naudos, kurią ji teikia žiniatinklio kūrėjams ir vartotojams apskritai. Jis suteikia optimizuotą HTTP semantikos perdavimą, palaikydamas visas pagrindines HTTP/1.1 funkcijas, bet siekia būti efektyvesnis įvairiais būdais.

Be HTTP/2 yra daug funkcijų, kurios suteikia daugiau galimybių optimizuoti svetainę/programą. Siūlomas tikras multipleksavimas ir lygiagretumas, geresnis antraščių glaudinimas (dvejetainis kodavimas), geresnis prioritetų nustatymas, geresni srauto valdymo mechanizmai ir naujas sąveikos režimas, vadinamas „serverio stūmimas“, kuris leidžia serveriui siųsti atsakymus klientui. . Maža to, HTTP/2 yra pagrįstas „Google“ eksperimentiniu SPDY protokolu.

Todėl pagrindinis HTTP/2 tikslas yra sumažinti bendrą tinklalapio įkėlimo laiką ir taip pagerinti našumą. Jame taip pat daug dėmesio skiriama tinklo ir serverio išteklių naudojimui bei saugumui, nes naudojant HTTP/2 SSL/TLS šifravimas yra privalomas.

Šiame straipsnyje sužinosite, kaip įgalinti Nginx su HTTP/2 palaikymu Linux serveriuose.

Būtinos sąlygos:

  • Veikiantis NGINX versijos 1.9.5 arba naujesnės versijos diegimas, sukurtas naudojant ngx_http_v2_module modulį.
  • Įsitikinkite, kad jūsų svetainėje naudojamas SSL/TLS sertifikatas. Jei jo neturite, galite gauti iš Let’s Encrypt arba naudoti savarankiškai pasirašytą sertifikatą.

Galite įdiegti NGINX arba įdiegti jį naudodami LEMP krūvą, kaip aprašyta šiuose vadovuose:

  • Kaip įdiegti „Nginx“ „CentOS 8“.
  • Kaip įdiegti LEMP serverį CentOS 8
  • Kaip įdiegti NGINX, MySQL/MariaDB ir PHP RHEL 8
  • Kaip įdiegti LEMP Stack naudojant PhpMyAdmin Ubuntu 20.04
  • Įdiekite „Nginx“ su serverio blokais (virtualiais pagrindiniais kompiuteriais) „Debian 10“.
  • Kaip naudoti „Nginx“ kaip HTTP apkrovos balansavimo priemonę „Linux“.

Kaip įjungti HTTP/2.0 NGINX

Jei turite įdiegtą NGINX, patikrinkite, ar jis sukurtas naudojant ngx_http_v2_module modulį, vykdydami šią komandą.

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

Kai svetainę/programą aptarnauja NGINX su sukonfigūruota HTTPS, atidarykite savo svetainių virtualaus serverio bloko (arba virtualios prieglobos) failą redagavimas.

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

Galite įjungti HTTP/2 palaikymą tiesiog pridėdami parametrą http2 prie visų klausymo direktyvų, kaip parodyta toliau esančioje ekrano kopijoje.

listen 443 ssl http2;

Pavyzdinė serverio bloko konfigūracija atrodo taip, kaip toliau.


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    
}

Išsaugokite failo pakeitimus ir uždarykite jį.

Tada patikrinkite NGINX konfigūracijos sintaksę, jei ji tinka, iš naujo paleiskite Nginx paslaugą.

nginx -t
systemctl restart nginx

Tada atidarykite žiniatinklio naršyklę, kad patikrintumėte, ar jūsų svetainė aptarnaujama naudojant HTTP/2.

http://www.example.com

Norėdami pasiekti HTTP antraštes, dešiniuoju pelės klavišu spustelėkite rodomą tinklalapį, parinkčių sąraše pasirinkite Tikrinti, kad atidarytumėte kūrėjo įrankius, tada spustelėkite skirtuką Tinklas ir įkelkite iš naujo. puslapis.

Pažymėkite Protokolai, kad pamatytumėte tą, kurį naudoja jūsų svetainė (jei nematote antraštės Protokolai, dešiniuoju pelės klavišu spustelėkite bet kurią antraštę, pvz., Pavadinimas, tada pažymėkite Protokolas iš sąrašo, kad jis būtų rodomas kaip antraštė).

Jei jūsų svetainė veikia naudojant HTTP/1.1, skiltyje Protokolas matysite http/1.1, kaip parodyta toliau esančioje ekrano kopijoje.

Jei jis veikia naudojant HTTP/2, skiltyje Protokolas matysite h2, kaip parodyta toliau esančioje ekrano kopijoje. Galbūt norėsite išjungti naršyklės talpyklą, kad galėtumėte peržiūrėti naujausią turinį, teikiamą tiesiai iš žiniatinklio serverio.

Tai viskas! Daugiau informacijos rasite ngx_http_v2_module modulio dokumentacijoje. Nedvejodami užduokite klausimus naudodami toliau pateiktą atsiliepimų formą.