YARP は、コア プロキシ機能を提供するライブラリとして設計されており、モジュールを追加または置き換えることでカスタマイズできます。 YARP は現在、NuGet パッケージとコード サンプルとして提供されています。 今後、プロジェクト テンプレートと事前構築済みの実行可能ファイル (.exe
) を提供する予定です。
YARP は .NET Core インフラストラクチャ上に実装され、Windows、Linux、または MacOS で使用できます。 開発は、SDKとお好みのエディター、たとえばMicrosoft Visual Studio やVisual Studio Code を使用して行えます。
YARP 2.3.0 では、.NET 8 以降がサポートされています。
.NET SDK は、https://dotnet.microsoft.com/download/dotnet/からダウンロードできます。
新しいプロジェクトを作成する
以下の手順を使用してビルドされたプロジェクトの完全なバージョンは、基本的な YARP サンプル にあります。
まず、コマンド ラインを使用して空の ASP.NET Core アプリケーションを作成します。
dotnet new web -n MyProxy
または、Visual Studio 2022 で新しい ASP.NET Core Web アプリケーションを作成し、プロジェクト テンプレートの [空] を選択します。
パッケージ参照を追加する
Yarp.ReverseProxy
バージョン 2.3.0 以降のパッケージ参照を追加します。
dotnet add package Yarp.ReverseProxy
注
.NET アプリへのパッケージの追加に関するガイダンスについては、「パッケージ利用のワークフロー」 (NuGet ドキュメント) の "パッケージのインストールと管理" に関する記事を参照してください。 NuGet.org で正しいパッケージ バージョンを確認します。
YARP ミドルウェアを追加する
YARP ミドルウェアを使用するように Program
ファイルを更新します。
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddReverseProxy()
.LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
var app = builder.Build();
app.MapReverseProxy();
app.Run();
設定
YARP の構成は、 appsettings.json
ファイルで定義されます。 詳細については、「 YARP 構成ファイル」を参照してください。
構成は、プログラムで提供することもできます。 詳細については、「 YARP 機能拡張構成プロバイダー」を参照してください。
使用可能な構成オプションの詳細については、 RouteConfig と ClusterConfigを参照してください。
{
"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/"
}
}
}
}
}
}
プロジェクトを実行する
.NET CLI を使用する場合は、サンプルのディレクトリまたはdotnet run
内のdotnet run --project <path to .csproj file>
を使用します。
Visual Studio で、[ 実行 ] ボタンをクリックしてアプリを起動します。
ASP.NET Core