.NET 反向代理-YARP

什麼是 YARP

YARP (另一個反向代理) 設計為一個庫,提供核心代理功能,你可以根據應用程式的特定需求進行自定義。

YARP 是使用 .NET的基礎架構構建在 .NET上的。
YARP 的主要不同之處在於,它被設計成可以通過 .NET 程式碼輕鬆訂製和調整,以滿足每個部署場景的特定需求。

同時,YARP是一個開源項目,託管於 Github 上,開源地址 //github.com/microsoft/reverse-proxy

什麼是反向代理

反向代理伺服器是代理伺服器中的一種,它是在Web伺服器之前實現的,並將客戶端請求定向到特定的後端伺服器。通常,反向代理有助於提高Web伺服器的安全性和性能,並防止過載。

反向代理作用

1.負載平衡。通常,擁有許多日常用戶的網站無法使用一個原始伺服器處理所有流量。因此,網站會在不同後端伺服器的群集之間均衡分配用戶流量。這些伺服器管理同一網站的客戶端請求。

此外,反向代理可以避免任意單個伺服器過載,因為所有站點的流量都必須通過反向代理。只有這樣,流量才能訪問特定的後端伺服器。

2.保護免受黑客攻擊。如果網站使用反向代理,則其伺服器的地址將被隱藏,黑客只能訪問代理IP地址。這對黑客和惡意實體起到了一定的防護。

例如:對使用反向代理的網站進行分散式拒絕服務(DDoS)攻擊要困難得多。DDoS攻擊是通過破壞主機服務與互聯網的連接,從而使用戶無法訪問該網站。

當網站使用反向代理時,黑客將只能攻擊這些代理,這將作為附加的安全層。

3.快取。快取使網站可以有效地重用以前獲得的數據。這是將文件副本存儲在快取中以便更迅速地訪問的過程。這使網站和應用程式可以更高效地運行。

反向代理伺服器可用於快取網站的內容並提高網站的性能。

如何使用YARP

YARP是基於.Net架構的一個庫,其提供了核心代理功能,而又因為 .Net Core 是跨平台的,所以可以應用在 windows 於 linux 上;

既然是一個庫,首先第一步肯定是創建一個新項目,並且安裝上這一個庫:

1、創建一個空的.Net Core 項目

 

 

 

2、在NuGet包管理器中,安裝 Yarp.ReverseProxy

 

 

 或者使用 dotnet 命令安裝

dotnet add package Yarp.ReverseProxy --version 1.1.1

3、在 Program.cs 中增加配置,.Net 5 及以下版本在 Startup.cs 中添加

Program.cs 

var reverseProxyConfig = builder.Configuration.GetSection("ReverseProxy");
builder.Services.AddReverseProxy().LoadFromConfig(reverseProxyConfig);
app.UseEndpoints(endpoints =>
{
    endpoints.MapReverseProxy();
});

Startup.cs

- ConfigureServices

services.AddReverseProxy().LoadFromConfig(Configuration.GetSection("ReverseProxy"));

- Configure

app.UseEndpoints(endpoints =>
{
    endpoints.MapReverseProxy();
});

4、在 appsetting 中添加 ReverseProxy 節點以及配置項

"ReverseProxy": {
  "Routes": {
    "route1": {
      "ClusterId": "yarp",
      "Match": {
        "Path": "{**catch-all}"
      }
    }
  },
  "Clusters": {
    "yarp": {
      "LoadBalancingPolicy": "RoundRobin",
      "Destinations": {"blazor": {
          "Address": "//www.blazor.zone/"
        },
        "baidu": {
          "Address": "//www.baidu.com/"
        }
      }
    }
  }
}

大功告成,可以愉快玩耍了!感謝各位大佬的閱讀!

原文鏈接://www.cnblogs.com/ysmc/p/16665788.html

寫在最後

Bootstrap Blazor 官網地址://www.blazor.zone

  希望大佬們看到這篇文章,能給項目點個star支援下,感謝各位!

star流程:

1、訪問點擊項目鏈接:BootstrapBlazor   star

2、點擊star,如下圖,即可完成star,關注項目不迷路:

 

另外還有兩個GVP項目,大佬們方便的話也點下star唄,非常感謝:

  BootstrapAdmin 項目地址:star
  //gitee.com/LongbowEnterprise/BootstrapAdmin

  SliderCaptcha 項目地址:star
  //gitee.com/LongbowEnterprise/SliderCaptcha

 

交流群(QQ)歡迎加群討論

       BA & Blazor ①(795206915)          BA & Blazor ②(675147445)

Tags: