Cloudflare, NGINX'te HTTP / 3'ü desteklemek için bir modül sunar

Cloudflare

Cloudflare, NGINX'te HTTP / 3 protokolüne destek sağlamak için bir modül hazırladı. Modül bitti kiş kitaplığında bir çırpıda şeklinde Cloudflare'da, QUIC ve HTTP / 3 taşıma protokolünün uygulanmasıyla geliştirilmiştir. Kiş kodu Rust ile yazılmıştır, ancak NGINX modülü C'de yazılmıştır ve kütüphaneye dinamik bağlantılar aracılığıyla erişir. BSD lisansı altında çalışma saatleri açıktır.

İstemci yazılımından, HTTP / 3 desteği, Chrome Canary deneysel yapılarına zaten eklendi ve curl yardımcı programı. Sunucu tarafında, şimdiye kadar sınırlı yeteneklere sahip izole edilmiş test uygulamalarının kullanılması gerekli olmuştur. Nginx'te HTTP / 3 işleme yeteneği HTTP / 3 desteği ile sunucuların dağıtımını önemli ölçüde basitleştirecek ve yeni protokolün test uygulamasını daha erişilebilir hale getirecektir.

HTTP / 3, QUIC protokolünün kullanımını standartlaştırır HTTP / 2 için bir aktarım olarak. QUIC protokolü, Web için TCP + TLS'ye alternatif olarak Google tarafından geliştirilmiştir, bu nedenle TCP'de uzun süreli kurulum ve koordinasyon bileşikleri ile sorunları çözmeyi amaçlamaktadır ve veri iletimi sırasında paket kaybının ortadan kaldırılmasını geciktirir. QUIC, birden fazla bağlantının çoğullamasını destekleyen ve TLS / SSL'ye eşdeğer şifreleme yöntemleri sağlayan bir UDP protokolü eklentisidir.

QUIC'in öne çıkan temel özellikleri arasında:

  • TLS'ye benzer yüksek güvenlik (aslında, QUIC, UDP üzerinden TLS kullanma yeteneği sağlar).
  • Paket kaybını önleyen akış bütünlüğü kontrolü.
  • Anında bağlantı kurma yeteneği (vakaların yaklaşık% 0'inde 75-RTT, veri bağlantı kurulum paketini gönderdikten hemen sonra aktarılabilir) ve istek gönderme ile yanıt alma arasında minimum gecikme (RTT, Gidiş Dönüş Süresi) .
  • Bir paketi yeniden iletirken aynı sıra numarasını kullanmamak, alınan paketlerin belirlenmesinde belirsizliği önler ve zaman aşımlarını ortadan kaldırır.
  • Bir paketin kaybı, yalnızca onunla ilişkili akışın teslimini etkiler ve mevcut bağlantı üzerinden paralel olarak iletilen akışlardaki verilerin teslimini durdurmaz.
  • Kayıp paketlerin yeniden iletilmesinden kaynaklanan gecikmeleri en aza indiren hata düzeltme araçları. Kayıp paket verilerinin yeniden iletilmesini gerektiren durumları azaltmak için özel paket düzeyinde hata düzeltme kodlarının kullanılması.
  • Kriptografik blok sınırları, QUIC paket sınırları ile hizalanarak, sonraki paketlerin içeriğinin kodunun çözülmesinde paket kaybının etkisini azaltır.
  • TCP kuyruğunu engellemede sorun yok
  • Mobil istemciler için yeniden bağlantı kurma süresini azaltan bağlantı tanımlayıcı desteği
  • Bağlantı aşırı yükünü kontrol etmek için gelişmiş mekanizmaları bağlama yeteneği
  • Optimum paket yönlendirme yoğunluğunu sağlamak için bant genişliğini her yönde tahmin etme tekniğini kullanmak, paket kaybının gözlemlendiği bir tıkanıklık durumuna ulaşmasını önlemek
  • TCP üzerinden dikkate değer performans ve performans kazanımları. YouTube gibi video hizmetleri için QUIC, videoları izlerken yeniden arabelleğe alma işlemlerinde% 30 azalma gösterdi.

NGINX'te HTTP / 3'ü desteklemek için modül nasıl uygulanır?

Bu modülü sunucularına uygulayabilmekle ilgilenenler için, Bunu, aşağıda paylaştığımız talimatları izleyerek yapabilirler.

Derlemek için, nginx 1.16 için yamayı indirmeleri yeterli ve kiş kütüphane kodu.

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

NGINX'i HTTP / 3 desteği etkin olarak derliyoruz:

 ./configure                                 \

--prefix=$PWD                           \

--with-http_ssl_module                  \

--with-http_v2_module                   \

--with-http_v3_module                   \

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

--with-quiche=../quiche

make

Derleme sırasında, TLS desteği BoringSSL kitaplığına dayalı olmalıdır ("–with-openssl = .. / quiche / deps / boringssl"), OpenSSL kullanımı henüz desteklenmemektedir.

Yapılandırmada bağlantıları kabul etmek için, dinleyici yönergesini "quic" bayrağıyla eklemeleri gerekir.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.