YARP는 모듈을 추가하거나 교체하여 사용자 지정할 수 있는 핵심 프록시 기능을 제공하는 라이브러리로 설계되었습니다. YARP는 현재 NuGet 패키지 및 코드 샘플로 제공됩니다. 향후 프로젝트 템플릿 및 미리 빌드된 실행 파일(.exe)을 제공할 계획입니다.
YARP는 .NET 인프라를 기반으로 구현되며 Windows, Linux 또는 MacOS에서 사용할 수 있습니다. SDK 및 즐겨 찾는 편집기인 Microsoft Visual Studio 또는 Visual Studio Code를 사용하여 앱을 개발합니다.
YARP 2.3.0은 .NET 8 이상을 지원합니다.
https://dotnet.microsoft.com/download/dotnet/.NET SDK를 다운로드할 수 있습니다.
새 프로젝트 만들기
아래 단계를 사용하여 빌드된 프로젝트의 전체 버전은 기본 YARP 샘플찾을 수 있습니다.
먼저 명령줄을 사용하여 빈 ASP.NET Core 애플리케이션을 만듭니다.
dotnet new web -n MyProxy
또는 Visual Studio 2022에서 새 ASP.NET Core 웹 애플리케이션을 만들고 프로젝트 템플릿에 대해 "비어 있음"을 선택합니다.
패키지 참조 추가
Yarp.ReverseProxy버전 2.3.0 이상에 대한 패키지 참조를 추가합니다.
dotnet add package Yarp.ReverseProxy
Note
.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();
Configuration
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