YARP Logo

YARP

View on GitHub

Your Reverse Proxy,
Your Way.

Fast, flexible, and easy to extend—YARP lets you build a reverse proxy tailored to your needs in just a few lines of code.

Get Started Explore Docs

Build a Reverse Proxy in Minutes

Configure and extend with just a few lines of .NET code.

Customize to Fit Your Needs

Fine-grained control over routing, load balancing, and health checks.

Optimized for Performance & Scale

Supports gRPC, WebSockets, HTTP/2, and HTTP/3.

Trusted at Scale

YARP is used by teams at Microsoft to handle billions of requests daily, powering services at massive scale.

Learn how Azure App Services uses YARP → Learn how Microsoft AI uses YARP →

Quick Start

Check out our full Getting Started tutorial, or dive right in with some code or a pre-built container.

Get started with YARP using a code-first approach. This snippet sets up a basic reverse proxy.

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddReverseProxy()
    .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
var app = builder.Build();
app.MapReverseProxy();
app.Run();


Put the following configuration in appsettings.json. YARP supports loading configuration from any IConfiguration provider. See Configuration Files for more details.

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ReverseProxy": {
    "Routes": {
      "route1": {
        "ClusterId": "cluster1",
        "Match": {
          "Path": "{**catch-all}"
        }
      }
    },
    "Clusters": {
      "cluster1": {
        "Destinations": {
          "destination1": {
            "Address": "https://example.com/"
          }
        }
      }
    }
  }
}