„Cloudflare“ siūlo modulį, kuris palaiko HTTP / 3 NGINX

Cloudflare

„Cloudflare“ parengė modulį, kad palaikytų HTTP / 3 protokolą NGINX. Modulis yra baigtas „Quiche“ bibliotekos užspaudimo forma sukurta „Cloudflare“ diegiant QUIC ir HTTP / 3 perdavimo protokolą. Kišės kodas parašytas „Rust“, bet NGINX modulis yra parašytas C ir pasiekia biblioteką per dinamines nuorodas. Darbo laikas atidarytas pagal BSD licenciją.

Iš kliento programinės įrangos HTTP / 3 palaikymas jau pridėtas prie „Chrome Canary“ eksperimentinių versijų ir garbanos naudingumas. Serverio pusėje kol kas reikėjo naudoti izoliuotus bandomuosius diegimus, kurių galimybės yra ribotos. Galimybė valdyti HTTP / 3 „nginx“ žymiai supaprastins serverių, turinčių HTTP / 3 palaikymą, diegimą ir tai palengvins bandomojo naujojo protokolo įgyvendinimą.

HTTP / 3 standartizuoja QUIC protokolo naudojimą kaip HTTP / 2 transportas. „QUIC“ protokolą „Google“ sukūrė kaip alternatyvą TCP + TLS žiniatinkliui ketina išspręsti problemas, susijusias su ilgu TCP diegimo ir derinimo junginiais ir delsia pašalinti paketų praradimą duomenų perdavimo metu. QUIC yra UDP protokolo papildinys, palaikantis kelių ryšių tankinimą ir pateikiantis TLS / SSL lygiaverčius šifravimo metodus.

Tarp pagrindinių QUIC charakteristikų, kurios išsiskiria:

  • Didelis saugumas, panašus į TLS (iš tikrųjų QUIC suteikia galimybę naudoti TLS per UDP).
  • Srauto vientisumo valdymas, kuris apsaugo nuo paketų praradimo.
  • Galimybė akimirksniu užmegzti ryšį (0-RTT, maždaug 75 proc. Atvejų duomenis galima perduoti iškart po ryšio sąrankos paketo išsiuntimo) ir užtikrinti minimalų uždelsimą tarp užklausos išsiuntimo ir atsakymo gavimo (RTT, pirmyn ir atgal) .
  • Nenaudojant to paties eilės numerio pakartotinai perduodant paketą, išvengiama dviprasmybės nustatant gautus paketus ir pašalinamas skirtasis laikas.
  • Praradus paketą, paveikiamas tik su juo susijusio srauto pristatymas ir nesustabdomas duomenų perdavimas srautais, perduodamais lygiagrečiai per dabartinį ryšį.
  • Klaidų taisymo įrankiai, kurie sumažina vėlavimą dėl prarastų paketų persiuntimo. Specialių paketų lygio klaidų taisymo kodų naudojimas siekiant sumažinti situacijas, kai reikia perduoti prarastus paketinius duomenis.
  • Kriptografinių blokų ribos yra suderintos su QUIC paketų ribomis, sumažinant paketų praradimo poveikį dekoduojant kitų paketų turinį
  • Jokių problemų blokuojant TCP eilę
  • Palaikymas ryšio identifikatoriui, kuris sutrumpina laiką, kol bus užmegztas mobiliųjų klientų ryšys
  • Galimybė prijungti pažangius mechanizmus, skirtus kontroliuoti ryšio perkrovą
  • Naudojant juostos pločio kiekviena kryptimi prognozavimo metodiką, užtikrinant optimalų paketo persiuntimo intensyvumą, neleidžiant jam pasiekti perkrovos būsenos, kurioje pastebimas paketų praradimas
  • Puikus našumas ir našumas naudojant TCP. Kalbant apie vaizdo paslaugas, tokias kaip „YouTube“, QUIC parodė 30% sumažintą pakartotinio buferio operacijas žiūrint vaizdo įrašus.

Kaip įdiegti modulį palaikyti HTTP / 3 NGINX?

Tiems, kurie domisi galimybe įdiegti šį modulį savo serveryje, Jie tai gali padaryti vadovaudamiesi toliau pateiktomis instrukcijomis.

Norėdami jį sudaryti, jie tiesiog turi atsisiųsti „nginx 1.16“ pataisą ir „quiche“ bibliotekos kodas.

curl -O https://nginx.org/download/nginx-1.16.1.tar.gz

tar xzvf nginx-1.16.1.tar.gz

git clone --recursive https://github.com/cloudflare/quiche

cd nginx-1.16.1

patch -p01 < ../quiche/extras/nginx/nginx-1.16.patch

Mes sudarome NGINX su įjungtu HTTP / 3 palaikymu:

 ./configure                                 \

--prefix=$PWD                           \

--with-http_ssl_module                  \

--with-http_v2_module                   \

--with-http_v3_module                   \

--with-openssl=../quiche/deps/boringssl \

--with-quiche=../quiche

make

Kompiliuojant TLS palaikymas turėtų būti pagrįstas „BoringSSL“ biblioteka („–with-openssl = .. / quiche / deps / boringssl“), „OpenSSL“ naudojimas dar nepalaikomas.

Norėdami priimti ryšius konfigūracijoje, jie turės pridėti klausytojų direktyvą su „quic“ vėliava.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.