微軟發布可高度自定義的反向代理 YARP


2021年 11 月,微軟正式發布了 YARP(Yet Another Reverse Proxy)1.0,這是一個由微軟在過去幾年作為開源項目開發的反向代理項目

常規代理是充當專用網絡和互聯網之間的網關的軟件。它偵聽傳出的 HTTP 請求,通常執行與隱私或安全相關的任務。

反向代理以相反的方式工作。它通常設置在本地網絡內部,位於防火牆后面,並偵聽傳入的請求。它通常用作將傳入請求重定向到適當端點的路由器,這可能發生在多台 Web 服務器在一台機器上運行甚至設置負載平衡系統時。


反向代理在應用層(OSI 第 7 層)工作,這意味着它們可以根據其 URL 和標頭處理請求,這與作用於傳輸層(OSI 第 4 層)的物理路由器或防火牆不同。

由於反向代理項目的范圍很廣,因此很難為它選擇合適的軟件,但從頭開始開發一個全新的應用程序也會消耗大量時間。基於這些考慮,Microsoft 提出了 YARP,這是一個可用於使用 .NET 構建自定義反向代理的工具包。

YARP 是由 Microsoft 的 ASP.NET 和網絡團隊用 C# 編寫的,它提供了幾個與代理相關的功能,開發人員可以利用這些功能。可以使用 URL 或 HTTP 標頭定義路由;它們可以與應用程序配置文件中的目標一起設置或以編程方式設置。對於只需要重定向請求的應用程序,開發人員不需要運行完整的 YARP 解決方案。有一個特性叫做直接轉發,可以通過接口使用,它代表ASP.NET Core 傳入和System.Net.Http傳出請求IHttpForwarder之間的核心代理適配器。

YARP 有五種負載均衡策略FirstAlphabeticalRandomPowerOfTwoChoices (默認)、RoundRobin、 和LeastRequests,開發者可以根據自己的需要來選擇。

反向代理工具上的其他功能包括目標健康檢查、URL 和 HTTP 方法轉換,以及測量性能和日志以跟蹤請求及其操作。

這是 YARP 的第一個正式版本。盡管如此,微軟已經列出了未來版本的功能,比如對 HTTP 3 的完全支持、性能改進、用 LLHTTP 替換使用以及HttpClient 與 Kubernetes 的集成。

要開始使用 YARP,您只需在項目中引用它的NuGet 包並根據您的要求開始編碼。該項目是開源的,它與 .NET Core 3.1、.NET 5 和 .NET 6 兼容。因此它可以在 Linux、macOS 和 Windows 操作系統上使用。在項目的 GitHub 頁面上,可以找到更多信息,例如 YARP 的文檔、打開和關閉的問題,以及關於剛剛發布的反向代理的討論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM