2

微软发布可高度自定义的反向代理 YARP

 2 years ago
source link: https://www.cnblogs.com/shanyou/p/15849180.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

微软发布可高度自定义的反向代理 YARP

2021年 11 月,微软正式发布了 YARP(Yet Another Reverse Proxy)1.0,这是一个由微软在过去几年作为开源项目开发的反向代理项目

常规代理是充当专用网络和互联网之间的网关的软件。它侦听传出的 HTTP 请求,通常执行与隐私或安全相关的任务。

反向代理以相反的方式工作。它通常设置在本地网络内部,位于防火墙后面,并侦听传入的请求。它通常用作将传入请求重定向到适当端点的路由器,这可能发生在多台 Web 服务器在一台机器上运行甚至设置负载平衡系统时。

image1.png

反向代理在应用层(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 的文档、打开和关闭的问题,以及关于刚刚发布的反向代理的讨论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK