“Nginx” yra atvirojo kodo žiniatinklio serveris, kuris užkariavo daugelio administratorių ir kūrėjų širdis dėl efektyvaus našumo, mažo atminties suvartojimo ir galingo įvairių protokolų palaikymo. Šiandien kalbėsime apie HTTP/2 palaikymo konfigūravimą “Nginx”.

“HTTP/2” – tai patobulintas HTTP protokolas, kuriuo pagerintas duomenų perdavimas tarp serverio ir naudotojo. Jis pakeičia HTTP 1.1, kuriame buvo ribojamas vienu metu veikiančių jungčių skaičius ir dėl to sulėtėdavo sunkių puslapių įkrovimas. HTTP/2 išsprendžia šią problemą, nes leidžia lygiagrečiai krauti duomenis ir glaudinti HTTP antraštes.

Kodėl svarbu pereiti prie HTTP/2?

Pereinant prie HTTP/2 ne tik pagreitėja svetainės įkrovimas, bet ir padidėja duomenų perdavimo saugumas. Visos šiuolaikinės naršyklės reikalauja, kad svetainės naudotų HTTPS ir palaikytų HTTP/2, todėl duomenų perdavimas tarp serverio ir lankytojų yra saugesnis.

Perėjimo prie HTTP/2 procesas

Prieš pradėdami konfigūruoti HTTP/2 , turite turėti serverį, kuriame veikia “Ubuntu 18.04” ir įdiegta “Nginx”. Be to, į serverį turi būti nukreiptas jūsų domeno vardas ir šiam domenui turi būti įdiegtas SSL sertifikatas (pvz., Let’s Encrypt).

1. Serverio nustatymas

Atidarykite savo domeno konfigūracijos failą:

vim /etc/nginx/sites-available/your_domain

Pridėtas HTTP/2 palaikymas IPv6 ir IPv4 jungtims:

klausytis [::]:443 ssl hp2 ipv6only=on;
klausytis 443 ssl http2;

Išsaugokite pakeitimus ir patikrinkite sintaksę:

nginx -t

2. Geresnis saugumas

Norėdami padidinti saugumą, pašalinkite nesaugius šifrus. Savo domeno konfigūracijos faile pakeiskite parinktį ssl_ciphers:

ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

Patikrinkite sintaksę ir iš naujo paleiskite serverį:

nginx -t
systemctl restart nginx.service

3. HTTP griežto transporto saugumo (HSTS) pridėjimas

Jei norite dar didesnio saugumo, į “Nginx” konfigūracijos failą įtraukite HTTP Strict Transport Security antraštę. Ši antraštė užtikrina, kad naršyklės naudotų tik HTTPS ryšius.

“Nginx” konfigūracijos faile:

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" visada;

Patikrinkite sintaksę ir iš naujo paleiskite serverį.

4. Teisingo HTTP/2 veikimo patikrinimas.

HTTP/2 galite išbandyti naudodami komandą curl:

curl -I -L https://ваш_домен

Serverio atsakyme turi būti nurodyta HTTP/2.

Taip pat galite naudoti “Google Chrome” ir kūrėjų įrankius, kad patikrintumėte, ar palaikomas HTTP/2.

Dabar jūsų svetainė paruošta darbui su HTTP/2 – greitesne ir saugesne HTTP protokolo versija 🚀.

Nepamirškite, kad serveris visada turi būti atnaujintas ir saugus. Sėkmės!!!!

Taip pat skaitykite:

Klausimai ir atsakymai

Kokie yra HTTP/2 naudojimo privalumai, palyginti su HTTP/1.1?

HTTP/2 turi daug privalumų, įskaitant didesnį našumą dėl tokių funkcijų kaip multipleksavimas ir antraštės suspaudimas, didesnį saugumą dėl integruoto šifravimo ir geresnį šiuolaikinių žiniatinklio technologijų palaikymą.

Ar konfigūruojant HTTP/2 palaikymą reikia įjungti SSL / TLS?

Taip, konfigūruojant HTTP/2 palaikymą būtina įjungti SSL/TLS, kad būtų užtikrintas saugus klientų ir serverio ryšys. SSL / TLS šifravimas apsaugo slaptus duomenis nuo perėmimo ir neteisėtos prieigos.

Ar galiu konfigūruoti HTTP/2 palaikymą senesnėse “Ubuntu” versijose?

Nors techniškai įmanoma sukonfigūruoti HTTP/2 palaikymą senesnėse “Ubuntu” versijose, pvz., 16.04, rekomenduojama naudoti “Ubuntu 18.04” arba naujesnę versiją, kad būtų užtikrintas optimalus suderinamumas ir palaikymas.

Kaip patikrinti, ar mano “Nginx” serveryje įjungtas HTTP/2 palaikymas?

Galite patikrinti, ar “Nginx” serveryje įjungtas HTTP/2, naudodami tokias priemones kaip curl arba internetines HTTP/2 testavimo paslaugas. Taip pat galite patikrinti “Nginx” serverio žurnalus, kad sužinotumėte, kokia protokolo versija naudojama kliento prisijungimuose.

Ar HTTP/2 palaikymo įjungimas reikalauja papildomų serverio išteklių?

Įjungus HTTP/2 palaikymą gali prireikti šiek tiek daugiau serverio išteklių nei HTTP/1.1 dėl didesnio protokolo sudėtingumo. Tačiau našumo nauda paprastai nusveria minimalius išteklių reikalavimus.

Ar sukonfigūravus HTTP/2 palaikymą prireikus galiu grįžti prie HTTP/1.1?

Taip, jei reikia, galite grįžti prie HTTP/1.1 pakeitę “Nginx” konfigūracijos nustatymus. Tačiau prieš atlikdami bet kokius pakeitimus rekomenduojama nuodugniai išbandyti savo svetainės suderinamumą ir našumą.

Apie autorių

Andrii Kostashchuk

Andrii turi programavimo įvairiomis kalbomis įvairioms platformoms ir sistemoms patirties. Daugiau nei 8 metus jis dirbo interneto srityje, dirbo su įvairiomis TVS, pvz: "Opencart", "Drupal", "Joomla" ir, žinoma, populiariausia turinio valdymo sistema "WordPress".

Peržiūrėti visus straipsnius