Bắt đầu với YARP
Nguồn: Get started with YARP
YARP được thiết kế như một thư viện .NET cung cấp chức năng proxy cốt lõi. Bạn có thể tùy chỉnh thư viện bằng cách thêm hoặc thay thế các module. YARP hiện được cung cấp dưới dạng NuGet package và các mẫu code, nhưng một project template (mẫu dự án) và file thực thi dựng sẵn (.exe) đang được lên kế hoạch cho tương lai.
YARP được triển khai trên cơ sở hạ tầng .NET và có thể sử dụng trên Windows, Linux hoặc macOS. Bạn có thể phát triển ứng dụng với .NET SDK và trình soạn thảo yêu thích của mình: Microsoft Visual Studio hoặc Visual Studio Code.
YARP 2.3.0 hỗ trợ .NET 8 trở lên. Bạn có thể tải xuống .NET SDK từ https://dotnet.microsoft.com/download/dotnet/.
Bài viết này mô tả cách tạo một ứng dụng ASP.NET Core cơ bản sử dụng thư viện YARP.
Tạo dự án mới
Bắt đầu bằng cách tạo một ứng dụng ASP.NET Core rỗng từ dòng lệnh:
dotnet new web -n MyProxy
Hoặc, xây dựng một ứng dụng web ASP.NET Core mới trong Visual Studio 2022 bằng cách chọn Empty cho template dự án.
Để xem phiên bản hoàn chỉnh của dự án được triển khai trong bài viết này, hãy tải xuống Basic YARP Sample trên GitHub.
Thêm tham chiếu package YARP
Thêm tham chiếu package cho Yarp.ReverseProxy phiên bản 2.3.0 trở lên.
dotnet add package Yarp.ReverseProxy
Để được hướng dẫn về cách thêm package vào ứng dụng .NET, xem các bài viết trong phần Install and manage packages tại Package consumption workflow (NuGet documentation). Xác nhận các phiên bản package chính xác tại NuGet.org.
Thêm YARP middleware
Cập nhật file Program.cs để sử dụng YARP middleware (phần mềm trung gian):
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddReverseProxy()
.LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
var app = builder.Build();
app.MapReverseProxy();
app.Run();Tùy chỉnh cấu hình YARP
Cấu hình cho YARP được định nghĩa trong file appsettings.json. Để biết thêm thông tin, xem YARP configuration files.
Bạn cũng có thể chỉ định cấu hình theo cách lập trình. Để biết thêm thông tin, xem YARP extensibility: Configuration providers.
Để tìm hiểu thêm về các tùy chọn cấu hình có sẵn, xem các bài tham chiếu RouteConfig và 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/"
}
}
}
}
}
}Chạy ứng dụng dự án YARP của bạn
Để chạy dự án YARP mới của bạn:
- .NET CLI: Chạy lệnh
dotnet runtrong thư mục của mẫu, hoặc sử dụng lệnhdotnet run --project <đường dẫn tới file .csproj>. - Visual Studio: Khởi động ứng dụng bằng cách chọn Run trên thanh menu chính.