Cloudflare nabízí modul pro podporu HTTP / 3 v NGINX

Cloudflare

Cloudflare připravil modul, který poskytuje podporu protokolu HTTP / 3 v NGINX. Modul je hotový ve formě snap na quiche knihovně vyvinutý na Cloudflare s implementací transportního protokolu QUIC a HTTP / 3. Kód quiche je napsán v Rustu, ale modul pro NGINX je napsán v C a přistupuje ke knihovně prostřednictvím dynamických odkazů. Podle licence BSD jsou otevřeny provozní hodiny.

Z klientského softwaru Do experimentálních sestavení Chrome Canary již byla přidána podpora HTTP / 3 a nástroj zvlnění. Na straně serveru bylo dosud vyžadováno použití izolovaných testovacích implementací, které mají omezené schopnosti. Schopnost zpracovávat HTTP / 3 v nginx výrazně zjednoduší nasazení serverů s podporou HTTP / 3 a zpřístupní testovací implementaci nového protokolu.

HTTP / 3 standardizuje použití protokolu QUIC jako transport pro HTTP / 2. Protokol QUIC byl vyvinut společností Google jako alternativa k protokolu TCP + TLS pro web zamýšlí řešit problémy s dlouhou dobou instalace a koordinačních sloučenin v TCP a zpožďuje eliminaci ztráty paketů během přenosu dat. QUIC je zásuvný modul k protokolu UDP, který podporuje multiplexování více připojení a poskytuje metody šifrování ekvivalentní TLS / SSL.

Mezi klíčové vlastnosti QUIC, které vynikají:

  • Vysoké zabezpečení, podobné TLS (ve skutečnosti poskytuje QUIC možnost používat TLS přes UDP).
  • Řízení integrity toku, které zabraňuje ztrátě paketů.
  • Schopnost okamžitě navázat spojení (0-RTT, v asi 75% případů lze data přenést okamžitě po odeslání paketu nastavení připojení) a zajistit minimální zpoždění mezi odesláním požadavku a přijetím odpovědi (RTT, doba zpáteční cesty) .
  • Nepoužívání stejného pořadového čísla při opětovném přenosu paketu, což zabrání nejednoznačnosti při určování přijatých paketů a eliminuje časové limity.
  • Ztráta paketu ovlivní doručení pouze s ním spojeného streamu a nezastaví doručení dat v streamech přenášených paralelně přes aktuální připojení.
  • Nástroje pro opravu chyb, které minimalizují zpoždění v důsledku opakovaného přenosu ztracených paketů. Použití speciálních kódů pro opravu chyb na úrovni paketů ke snížení situací, které vyžadují opakovaný přenos ztracených dat paketů.
  • Hranice kryptografických bloků jsou zarovnány s hranicemi paketů QUIC, což snižuje účinek ztráty paketů na dekódování obsahu následujících paketů
  • Žádné problémy s blokováním fronty TCP
  • Podpora identifikátoru připojení, která zkracuje dobu potřebnou k navázání opětovného připojení pro mobilní klienty
  • Schopnost připojit pokročilé mechanismy pro řízení přetížení připojení
  • Použití techniky předpovídání šířky pásma v každém směru k zajištění optimální intenzity předávání paketů, která mu brání v dosažení stavu přetížení, při kterém je pozorována ztráta paketu
  • Pozoruhodný výkon a zvýšení výkonu přes TCP. U video služeb, jako je YouTube, vykázal QUIC 30% snížení operací opětovného ukládání do vyrovnávací paměti při sledování videí.

Jak implementovat modul pro podporu HTTP / 3 v NGINX?

Pro ty, kteří mají zájem o možnost implementovat tento modul na svém serveru, Mohou to provést podle pokynů, které sdílíme níže.

Chcete-li jej sestavit, prostě si musí stáhnout opravu pro nginx 1.16 a kód knihovny 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 sestavujeme 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

Během kompilace by podpora TLS měla být založena na knihovně BoringSSL („–with-openssl = .. / quiche / deps / boringssl“), použití OpenSSL ještě není podporováno.

Aby mohli přijímat připojení v konfiguraci, budou muset přidat direktivu posluchače s příznakem „quic“.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.