Cloudflare ponúka modul na podporu HTTP / 3 v NGINX

CloudFlare

Cloudflare pripravil modul poskytujúci podporu protokolu HTTP / 3 v NGINX. Modul je hotový vo forme cvaknutia na knižnici quiche vyvinutý v Cloudflare s implementáciou transportného protokolu QUIC a HTTP / 3. Quiche kód je napísaný v Rust, ale modul pre NGINX je napísaný v jazyku C a pristupuje ku knižnici prostredníctvom dynamických odkazov. Hodiny prevádzky sú otvorené podľa licencie BSD.

Z klientskeho softvéru Podpora experimentov HTTP / 3 už bola pridaná do experimentálnych zostavení prehliadača Chrome Canary a zvlnenie. Na strane servera sa doteraz vyžadovalo použitie izolovaných implementácií testov, ktoré majú obmedzené schopnosti. Schopnosť zvládnuť HTTP / 3 v nginx výrazne podporí nasadenie serverov s podporou protokolu HTTP / 3 a sprístupnenie testovacej implementácie nového protokolu bude dostupnejšie.

HTTP / 3 štandardizuje použitie protokolu QUIC ako transport pre HTTP / 2. Protokol QUIC vyvinul Google ako alternatívu k protokolu TCP + TLS pre web mieni riesit problemy s dlhou dobou instalacie a koordinacnych zloziek v TCP a oneskoruje elimináciu straty paketov počas prenosu dát. QUIC je doplnok k protokolu UDP, ktorý podporuje multiplexovanie viacerých pripojení a poskytuje metódy šifrovania rovnocenné s TLS / SSL.

Medzi kľúčové charakteristiky QUIC, ktoré vynikajú:

  • Vysoká bezpečnosť, podobná TLS (v skutočnosti poskytuje QUIC možnosť používať TLS cez UDP).
  • Riadenie integrity toku, ktoré zabraňuje strate paketov.
  • Schopnosť okamžite nadviazať spojenie (0-RTT, v asi 75% prípadov je možné dáta preniesť okamžite po odoslaní paketu nastavenia spojenia) a zabezpečiť minimálne oneskorenie medzi odoslaním žiadosti a prijatím odpovede (RTT, doba obojsmerného prepojenia) .
  • Nepoužívanie rovnakého poradového čísla pri opätovnom vysielaní paketu, čo zabráni nejasnostiam pri určovaní prijatých paketov a eliminuje časové limity.
  • Strata paketu ovplyvňuje doručenie iba toku, ktorý je s ním spojený, a nezastaví doručenie údajov v prúdoch vysielaných paralelne cez súčasné pripojenie.
  • Nástroje na opravu chýb, ktoré minimalizujú oneskorenia v dôsledku opakovaného prenosu stratených paketov. Použitie špeciálnych kódov korekcie chýb na úrovni paketov na zníženie situácií, ktoré si vyžadujú opakovaný prenos stratených paketových údajov.
  • Hranice kryptografického bloku sú zarovnané s hranicami paketov QUIC, čo znižuje vplyv straty paketov na dekódovanie obsahu nasledujúcich paketov
  • Žiadne problémy s blokovaním frontu TCP
  • Podpora identifikátora pripojenia, ktorá skracuje čas potrebný na opätovné pripojenie mobilných klientov
  • Schopnosť pripojiť pokročilé mechanizmy na kontrolu preťaženia spojenia
  • Použitie techniky predpovedania šírky pásma v každom smere na zabezpečenie optimálnej intenzity zasielania paketov, ktorá mu zabráni dosiahnuť stav preťaženia, pri ktorom sa pozoruje strata paketu
  • Pozoruhodný výkon a zvýšenie výkonu oproti protokolu TCP. Pre videoslužby, ako je YouTube, vykázal QUIC pri sledovaní videí 30% zníženie operácií opätovného ukladania do vyrovnávacej pamäte.

Ako implementovať modul na podporu HTTP / 3 v NGINX?

Pre tých, ktorí majú záujem o implementáciu tohto modulu na svojom serveri, Môžu tak urobiť podľa pokynov, ktoré zdieľame nižšie.

Ak to chcete zostaviť, len si musia stiahnut patch pre nginx 1.16 a kód knižnice quiche.

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

A zostavujeme NGINX s povolenou podporou HTTP / 3:

 ./configure                                 \

--prefix=$PWD                           \

--with-http_ssl_module                  \

--with-http_v2_module                   \

--with-http_v3_module                   \

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

--with-quiche=../quiche

make

Počas kompilácie musí byť podpora TLS založená na knižnici BoringSSL („–with-openssl = .. / quiche / deps / boringssl“), použitie OpenSSL zatiaľ nie je podporované.

Aby mohli v konfigurácii prijímať pripojenia, budú musieť pridať direktívu poslucháča s príznakom „quic“.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.