Cloudflare piedāvā moduli, lai atbalstītu HTTP / 3 NGINX

Cloudflare

Cloudflare ir sagatavojis moduli, lai nodrošinātu atbalstu HTTP / 3 protokolam NGINX. Modulis ir pabeigts knipi bibliotēkas snap formā izstrādāts Cloudflare, ieviešot QUIC un HTTP / 3 transporta protokolu. Piezīmes kods ir uzrakstīts Rust, bet NGINX modulis ir ierakstīts C un piekļūst bibliotēkai, izmantojot dinamiskas saites. Darba laiks ir atvērts saskaņā ar BSD licenci.

No klienta programmatūras HTTP / 3 atbalsts jau ir pievienots Chrome Canary eksperimentālajām versijām un čokurošanās lietderība. Servera pusē līdz šim bija nepieciešams izmantot izolētas testa ieviešanas iespējas, kurām ir ierobežotas iespējas. Iespēja apstrādāt HTTP / 3 nginx ievērojami vienkāršos serveru izvietošanu ar HTTP / 3 atbalstu un tas padarīs jaunā protokola testēšanas ieviešanu pieejamāku.

HTTP / 3 standartizē QUIC protokola izmantošanu kā HTTP / 2 transports. Tādējādi QUIC protokolu izstrādāja Google kā alternatīvu TCP + TLS tīmeklim plāno atrisināt problēmas ar ilgu TCP instalēšanas un koordinācijas savienojumu laiku un aizkavē pakešu zuduma novēršanu datu pārraides laikā. QUIC ir UDP protokola spraudnis, kas atbalsta vairāku savienojumu multipleksēšanu un nodrošina TLS / SSL līdzvērtīgas šifrēšanas metodes.

Starp galvenajiem QUIC raksturlielumiem, kas izceļas:

  • Augsta drošība, līdzīga TLS (faktiski QUIC nodrošina iespēju izmantot TLS, izmantojot UDP).
  • Plūsmas integritātes kontrole, kas novērš pakešu zaudēšanu.
  • Iespēja uzreiz izveidot savienojumu (0-RTT, aptuveni 75% gadījumu datus var pārsūtīt uzreiz pēc savienojuma iestatīšanas paketes nosūtīšanas) un nodrošināt minimālu aizkavēšanos starp pieprasījuma nosūtīšanu un atbildes saņemšanu (RTT, turp un atpakaļ) .
  • Paketes atkārtotas pārsūtīšanas gadījumā neizmantojiet to pašu kārtas numuru, kas novērš neskaidrību saņemto pakešu noteikšanā un novērš noildzi.
  • Paketes zaudēšana ietekmē tikai ar to saistītās straumes piegādi un nepārtrauc datu piegādi straumēs, kas tiek pārraidītas paralēli pa pašreizējo savienojumu.
  • Kļūdu labošanas rīki, kas samazina aizkavēšanos zaudēto pakešu atkārtotas pārsūtīšanas dēļ. Īpašu pakešu līmeņa kļūdu labošanas kodu izmantošana, lai mazinātu situācijas, kad nepieciešama atkārtota zaudēto pakešdatu pārraide.
  • Kriptogrāfisko bloku robežas ir saskaņotas ar QUIC pakešu robežām, samazinot pakešu zuduma ietekmi uz nākamo pakešu satura dekodēšanu
  • Nav problēmu ar TCP rindas bloķēšanu
  • Atbalsts savienojuma identifikatoram, kas samazina laiku, lai izveidotu atkārtotu savienojumu mobilajiem klientiem
  • Spēja savienot uzlabotus mehānismus, lai kontrolētu savienojuma pārslodzi
  • Izmantojot joslas platuma prognozēšanas metodi katrā virzienā, lai nodrošinātu optimālu pakešu pārsūtīšanas intensitāti, neļaujot tai sasniegt pārslodzes stāvokli, kurā tiek novērots pakešu zudums
  • Ievērojams veiktspēja un veiktspējas pieaugums, salīdzinot ar TCP. Tādiem video pakalpojumiem kā YouTube QUIC parādīja 30% samazinājumu atkārtotas buferizācijas darbībās, skatoties videoklipus.

Kā moduli ieviest, lai atbalstītu HTTP / 3 NGINX?

Tiem, kas ir ieinteresēti, lai šo moduli varētu ieviest savā serverī, Viņi to var izdarīt, izpildot tālāk sniegtos norādījumus.

Lai to apkopotu, viņiem vienkārši jāielādē nginx 1.16 ielāpu un quiche bibliotēkas kods.

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

Mēs apkopojam NGINX ar iespējotu HTTP / 3 atbalstu:

 ./configure                                 \

--prefix=$PWD                           \

--with-http_ssl_module                  \

--with-http_v2_module                   \

--with-http_v3_module                   \

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

--with-quiche=../quiche

make

Kompilācijas laikā TLS atbalstam jābūt balstītam uz BoringSSL bibliotēku ("–with-openssl = .. / quiche / deps / boringssl"), OpenSSL izmantošana vēl netiek atbalstīta.

Lai konfigurācijā pieņemtu savienojumus, viņiem būs jāpievieno klausīšanās direktīva ar karodziņu “quic”.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.