Cloudflare tarjoaa moduulin, joka tukee HTTP / 3: ta NGINX: ssä

CloudFlare

Cloudflare on valmistanut moduulin tukemaan HTTP / 3-protokollaa NGINX: ssä. Moduuli on valmis napsautuksen muodossa quiche-kirjastossa kehitetty Cloudflaressa toteuttamalla QUIC- ja HTTP / 3-siirtoprotokolla. Piirikoodi kirjoitetaan Rust-muodossa, mutta NGINX-moduuli on kirjoitettu C-kirjaimella ja käyttää kirjastoa dynaamisten linkkien kautta. Aukioloajat ovat auki BSD-lisenssillä.

Asiakasohjelmistosta HTTP / 3-tuki on jo lisätty Chrome Canaryn kokeellisiin koontiversioihin ja curl-apuohjelma. Palvelinpuolella on toistaiseksi vaadittu eristettyjen testaustoteutusten käyttöä, joilla on rajoitetut ominaisuudet. Kyky käsitellä HTTP / 3: tä nginxissä yksinkertaistaa huomattavasti HTTP / 3-tuen sisältävien palvelinten käyttöönottoa ja se tekee uuden protokollan testitoteutuksesta helpommin saatavilla.

HTTP / 3 standardoi QUIC-protokollan käytön siirtona HTTP / 2: lle. Google on kehittänyt QUIC-protokollan vaihtoehtona TCP + TLS for Webille aikoo ratkaista ongelmia TCP: n pitkien asennus- ja koordinointiyhdisteiden kanssa ja viivästyttää pakettihäviön poistamista tiedonsiirron aikana. QUIC on UDP-protokollan laajennus, joka tukee useiden yhteyksien multipleksointia ja tarjoaa TLS / SSL: ää vastaavia salausmenetelmiä.

QUICin keskeisistä ominaisuuksista, jotka erottuvat:

  • Korkea tietoturva, samanlainen kuin TLS (QUIC tarjoaa itse asiassa mahdollisuuden käyttää TLS: ää UDP: n kautta).
  • Virtauksen eheyden hallinta, joka estää pakettien menetyksen.
  • Mahdollisuus muodostaa yhteys välittömästi (0-RTT, noin 75 prosentissa tapauksista tietoja voidaan siirtää välittömästi yhteyden määrityspaketin lähettämisen jälkeen) ja varmistaa mahdollisimman vähän viiveitä pyynnön lähettämisen ja vastauksen vastaanottamisen välillä (RTT, meno-paluu) .
  • Saman järjestysnumeron käyttämättä jättäminen paketin uudelleenlähetyksessä, mikä välttää epäselvyyttä vastaanotettujen pakettien määrittämisessä ja eliminoi aikakatkaisut.
  • Paketin menettäminen vaikuttaa vain siihen liittyvän virran toimitukseen eikä lopeta datan toimittamista virroissa, jotka lähetetään rinnakkain nykyisen yhteyden kautta.
  • Virheenkorjaustyökalut, jotka minimoivat kadonneiden pakettien uudelleenlähetyksestä johtuvat viiveet. Erityisten pakettitason virhekorjauskoodien käyttö tilanteiden vähentämiseksi, jotka edellyttävät kadonneen pakettidatan uudelleenlähetystä.
  • Salauslohkorajat ovat linjassa QUIC-pakettirajojen kanssa, mikä vähentää pakettihäviön vaikutusta seuraavien pakettien sisällön dekoodaukseen
  • Ei ongelmia TCP-jonon estämisessä
  • Tuki yhteystunnukselle, mikä lyhentää aikaa muodostaa yhteys uudelleen mobiiliasiakkaille
  • Mahdollisuus yhdistää edistyneitä mekanismeja yhteyden ylikuormituksen hallitsemiseksi
  • Käyttämällä kaistanleveyden ennustamistekniikkaa kumpaankin suuntaan optimaalisen paketin edelleenlähetysintensiteetin varmistamiseksi estämällä sitä saavuttamasta ruuhkautumistilaa, jossa pakettihäviö havaitaan
  • Huomattava suorituskyky ja suorituskyvyn lisäykset TCP: n kautta. Videopalveluissa, kuten YouTubessa, QUIC osoitti 30 prosentin vähennystä uudelleenpuskurointitoiminnoissa videoita katsellessa.

Kuinka moduuli otetaan käyttöön HTTP / 3: n tukemiseksi NGINX: ssä?

Niille, jotka haluavat ottaa tämän moduulin käyttöön palvelimellaan, He voivat tehdä sen noudattamalla alla olevia ohjeita.

Voit koota sen heidän on vain ladattava nginx 1.16 -korjaustiedosto ja quiche-kirjastokoodi.

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

Ja käännämme NGINXin HTTP / 3-tuella:

 ./configure                                 \

--prefix=$PWD                           \

--with-http_ssl_module                  \

--with-http_v2_module                   \

--with-http_v3_module                   \

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

--with-quiche=../quiche

make

Kääntämisen aikana TLS-tuen on perustuttava BoringSSL-kirjastoon ("–with-openssl = .. / quiche / deps / boringssl"), OpenSSL: n käyttöä ei vielä tueta.

Yhteyksien hyväksymiseksi kokoonpanossa heidän on lisättävä kuunteludirektiivi "quic" -lipulla.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.