Cloudflare ti ṣe imuse module kan lati ṣe atilẹyin HTTP/3 ni NGINX

Ile-iṣẹ Cloudflare pese sile modulu lati pese atilẹyin fun ilana HTTP/3 ni NGINX. A ṣe apẹrẹ module naa bi afikun si ile-ikawe ti o dagbasoke nipasẹ Cloudflare quiche pẹlu imuse ti QUIC ati HTTP/3 ilana irinna. Awọn koodu quiche ti kọ ni Rust, ṣugbọn module NGINX funrararẹ ni a kọ sinu C ati wọle si ile-ikawe nipa lilo ọna asopọ agbara. Awọn idagbasoke ṣii labẹ iwe-aṣẹ BSD.

Lati pejọ, kan ṣe igbasilẹ alemo to nginx 1.16 ati koodu quiche ikawe, lẹhinna tun nginx ṣe pẹlu awọn aṣayan “—with-http_v3_module —with-quiche=../quiche”. Nigbati o ba n kọ, atilẹyin TLS yẹ ki o da lori ile-ikawe BoringSSL (“-with-openssl=../quiche/deps/boringssl”), lilo OpenSSL ko tii ni atilẹyin. Lati gba awọn asopọ, o nilo lati ṣafikun itọsọna tẹtisi pẹlu asia “quic” si awọn eto (fun apẹẹrẹ, “gbọ 443 quic reuseport”).

Ninu sọfitiwia alabara, atilẹyin HTTP/3 ti ṣafikun tẹlẹ si awọn itumọ idanwo ti Chrome Canary ati IwUlO curl. Ni ẹgbẹ olupin, titi di bayi o jẹ dandan lati lo lọtọ, lopin igbeyewo awọn imuṣẹ. Agbara lati ṣe ilana HTTP / 3 ni nginx yoo ṣe irọrun imuṣiṣẹ ti awọn olupin ni pataki pẹlu atilẹyin HTTP/3 ati pe yoo jẹ ki imuse idanwo ti ilana tuntun ni iraye si. Ifarahan ti atilẹyin boṣewa fun HTTP/3 ni nginx o ti ṣe yẹ ni 1.17.x ẹka fun 6-12 osu.

Ranti pe HTTP/3 ṣe idiwọn lilo ilana QUIC gẹgẹbi gbigbe fun HTTP/2. Ilana QUIC (Awọn isopọ Ayelujara ti UDP ni kiakia) ti ni idagbasoke nipasẹ Google niwon 2013 gẹgẹbi iyatọ si apapo TCP + TLS fun oju-iwe ayelujara, yanju awọn iṣoro pẹlu iṣeto gigun ati awọn akoko idunadura fun awọn asopọ ni TCP ati imukuro awọn idaduro nigbati awọn apo-iwe ti sọnu nigba gbigbe data. QUIC jẹ ẹya itẹsiwaju ti ilana UDP ti o ṣe atilẹyin multixing ti ọpọ awọn isopọ ati ki o pese ìsekóòdù ọna deede si TLS/SSL.

akọkọ awọn ẹya QUIC:

  • Aabo giga ti o jọra si TLS (ni pataki QUIC n pese agbara lati lo TLS lori UDP);
  • Iṣakoso iṣotitọ ṣiṣan, idilọwọ pipadanu soso;
  • Agbara lati fi idi asopọ kan mulẹ lesekese (0-RTT, ni isunmọ 75% ti data awọn ọran le gbejade lẹsẹkẹsẹ lẹhin fifiranṣẹ soso iṣeto asopọ) ati pese awọn idaduro kekere laarin fifiranṣẹ ibeere kan ati gbigba esi (RTT, Akoko Irin-ajo Yika);
  • Ko lo nọmba ọkọọkan kanna nigbati o ba n gbe apo-iwe pada, eyiti o yago fun aibikita ni idamo awọn apo-iwe ti o gba ati yọkuro awọn akoko ipari;
  • Ipadanu ti apo kan yoo ni ipa lori ifijiṣẹ ṣiṣan ti o ni nkan ṣe pẹlu rẹ ati pe ko da idaduro ifijiṣẹ data ni awọn ṣiṣan ti o jọra ti a gbejade nipasẹ asopọ lọwọlọwọ;
  • Awọn ẹya atunṣe aṣiṣe ti o dinku awọn idaduro nitori gbigbejade awọn apo-iwe ti o sọnu. Lilo awọn koodu atunṣe aṣiṣe pataki ni ipele apo-iwe lati dinku awọn ipo ti o nilo gbigbejade ti data soso ti o sọnu.
  • Awọn aala bulọọki cryptographic ni ibamu pẹlu awọn aala apo-iwe QUIC, eyiti o dinku ipa ti awọn adanu soso lori yiyan awọn akoonu ti awọn apo-iwe ti o tẹle;
  • Ko si awọn iṣoro pẹlu idinaduro isinyi TCP;
  • Atilẹyin fun idanimọ asopọ, eyiti o dinku akoko ti o to lati fi idi isọdọtun kan mulẹ fun awọn alabara alagbeka;
  • O ṣeeṣe ti sisopọ to ti ni ilọsiwaju awọn ọna iṣakoso idinku isunmọ;
  • Nlo awọn ilana asọtẹlẹ iwọn-itọnisọna fun-itọnisọna lati rii daju pe awọn apo-iwe ni a firanṣẹ ni awọn oṣuwọn ti o dara julọ, idilọwọ wọn lati di idinamọ ati fa ipadanu soso;
  • Ni oye Idagba iṣẹ ṣiṣe ati iṣelọpọ akawe si TCP. Fun awọn iṣẹ fidio gẹgẹbi YouTube, QUIC ti ṣe afihan lati dinku awọn iṣẹ atunṣe nigbati o nwo awọn fidio nipasẹ 30%.
  • orisun: opennet.ru

Fi ọrọìwòye kun