Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Úvod do YARP
YARP (další reverzní proxy server) je vysoce přizpůsobitelná reverzní proxy knihovna pro .NET. Je navržená tak, aby poskytovala robustní, flexibilní, škálovatelnou, zabezpečenou a snadno použitelnou architekturu proxy serveru. YARP pomáhá vývojářům vytvářet výkonná a efektivní řešení reverzního proxy serveru přizpůsobená jejich konkrétním potřebám.
Co reverzní proxy dělá
Reverzní proxy server je server, který se nachází mezi klientskými zařízeními a back-endovými servery. Předává požadavky klientů na příslušný back-endový server a pak vrátí odpověď serveru klientovi. Reverzní proxy server nabízí několik výhod:
- Směrování: Směruje požadavky na různé back-endové servery na základě předdefinovaných pravidel, jako jsou vzory adres URL nebo hlavičky požadavků. Například
/images
,/api
, a/db
požadavky mohou být směrovány na servery pro obrázky, API a databázi. - Vyrovnávání zatížení: Distribuuje příchozí provoz mezi více back-endových serverů, aby se zabránilo přetížení konkrétního serveru. Distribuce zvyšuje výkon a spolehlivost.
- Škálovatelnost: Díky distribuci provozu mezi více serverů pomáhá reverzní proxy server škálovat aplikace, aby zvládly více uživatelů a vyšší zatížení. Back-endové servery se škálovaly (přidané nebo odebrané), aniž by to mělo vliv na klienta.
- ukončení protokolu SSL/TLS: Přesměruje procesy šifrování a dešifrování protokolu TLS z back-endových serverů a snižuje jejich zatížení.
- Abstrakce připojení, oddělení a řízení prostoru adresy URL: Příchozí požadavky z externích klientů a odchozí odpovědi z back-endu jsou nezávislé. Tato nezávislost umožňuje různé možnosti:
- Verze HTTP, tj. HTTP/1.1, HTTP/2, HTTP/3. Proxy server může aktualizovat nebo zhoršit verze HTTP.
- Životnost připojení, která umožňují mít na back-endu dlouhodobá připojení při zachování krátkých klientských připojení.
- Řízení prostoru adresy URL: Příchozí adresy URL je možné transformovat před předáním do back-endu. Tím se oddělují externí adresy URL od způsobu, jakým jsou mapovány na interní služby. Interní koncové body služby se můžou měnit, aniž by to mělo vliv na externí adresy URL.
- Zabezpečení: Vnitřní koncové body služby mohou být skryty před externím vystavením, chrání před některými typy kybernetických útoků, jako jsou útoky DDoS.
- Ukládání do mezipaměti: Často požadované prostředky je možné ukládat do mezipaměti, aby se snížilo zatížení back-endových serverů a zlepšila se doba odezvy.
- Správa verzí: Různé verze rozhraní API je možné podporovat pomocí různých mapování adres URL.
- Zjednodušená údržba: Reverzní proxy servery můžou zpracovávat ukončení protokolu SSL/TLS a další úlohy, což zjednodušuje konfiguraci a údržbu back-endových serverů. Například certifikáty SSL a zásady zabezpečení je možné spravovat na úrovni reverzního proxy serveru místo na každém jednotlivém serveru.
Jak reverzní proxy zpracovává PROTOKOL HTTP
Reverzní proxy zpracovává požadavky a odpovědi HTTP následujícím způsobem:
- Příjem požadavků: Reverzní proxy naslouchá na zadaných portech a koncových bodech příchozích požadavků HTTP od klientů.
- Ukončování připojení: Příchozí připojení HTTP jsou ukončena na proxy serveru a nová připojení se používají pro odchozí požadavky na cíle.
- Požadavky směrování: Na základě předdefinovaných pravidel směrování a konfigurací určuje reverzní proxy server, který back-endový server nebo cluster serverů by měl požadavek zpracovat.
- Předávací požadavky: Reverzní proxy server předává požadavek klienta na příslušný back-endový server a podle potřeby transformuje cestu a hlavičky.
- Sdružování připojení: Odchozí připojení jsou sdružována, aby se snížily režijní náklady na připojení a aby se co nejvíce využívalo opakované použití spojení HTTP 1.1 a paralelní požadavky s protokoly HTTP/2 a HTTP/3.
- Zpracování odpovědí: Back-endový server zpracuje požadavek a odešle odpověď zpět na reverzní proxy server.
- Vrácení odpovědí: Reverzní proxy server obdrží odpověď z back-endového serveru a předá ji zpět klientovi a provede všechny potřebné transformace odpovědí.
Tento proces zajišťuje, že klient komunikuje s reverzním proxy serverem místo přímo s back-endovými servery a poskytuje výhody vyrovnávání zatížení, zabezpečení, správy verzí a dalších.
Proč zvolit YARP oproti jiným proxy serverům
YARP nabízí několik jedinečných výhod, díky kterým je atraktivní volbou pro vývojáře:
- Přizpůsobení: YARP je vysoce přizpůsobitelný, což vývojářům umožňuje přizpůsobit proxy server svým konkrétním potřebám s minimálním úsilím.
- Integrace s .NET: Založená na ASP.NET Core se YARP bezproblémově integruje s ekosystémem .NET, takže je ideální volbou pro vývojáře .NET.
- Rozšiřitelnost: YARP poskytuje bohatou sadu bodů rozšiřitelnosti, která vývojářům umožňuje podle potřeby přidávat vlastní logiku a funkce pomocí známého kódu jazyka C#.
- Škálovatelnost: Možnost rozšiřitelnosti přímého předávání umožňuje technologii YARP škálovat tak, aby podporovala název domény a back-endové škálování, které není možné použít u většiny reverzních proxy serverů.
- Aktivní vývoj: YARP je aktivně udržován a vyvíjen společností Microsoft, což zajišťuje, že je stále aktuální s nejnovějšími technologiemi a osvědčenými postupy.
- Komplexní udržovaná dokumentace: YARP obsahuje rozsáhlou dokumentaci a příklady, které usnadňují zahájení a implementaci pokročilých funkcí.
- otevřený zdroj. YARP a dokumentace YARP jsou opensourcové. příspěvky, recenze a zpětná vazba jsou vítány.