

.NET 反向代理-YARP - 一事冇诚
source link: https://www.cnblogs.com/ysmc/p/16665788.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

.NET 反向代理-YARP
什么是 YARP
YARP (另一个反向代理) 设计为一个库,提供核心代理功能,你可以根据应用程序的特定需求进行自定义。
YARP 是使用 .NET的基础架构构建在 .NET上的。
YARP 的主要不同之处在于,它被设计成可以通过 .NET 代码轻松定制和调整,以满足每个部署场景的特定需求。
同时,YARP是一个开源项目,托管于 Github 上,开源地址 https://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": "https://www.blazor.zone/" }, "baidu": { "Address": "https://www.baidu.com/" } } } } }
大功告成,可以愉快玩耍了!感谢各位大佬的阅读!
原文链接:https://www.cnblogs.com/ysmc/p/16665788.html
写在最后
Bootstrap Blazor 官网地址:https://www.blazor.zone
希望大佬们看到这篇文章,能给项目点个star支持下,感谢各位!
star流程:
1、访问点击项目链接:BootstrapBlazor
2、点击star,如下图,即可完成star,关注项目不迷路:
另外还有两个GVP项目,大佬们方便的话也点下star呗,非常感谢:
BootstrapAdmin 项目地址:
https://gitee.com/LongbowEnterprise/BootstrapAdmin
SliderCaptcha 项目地址:
https://gitee.com/LongbowEnterprise/SliderCaptcha
交流群(QQ)欢迎加群讨论
BA & Blazor ①(795206915) BA & Blazor ②(675147445)


Recommend
-
9
微软的反向代理项目 ReverseProxy 更名为 Yarp.ReverseProxy 微软的开源项目
-
2
微软发布可高度自定义的反向代理 YARP 2021年 11 月,微软正式发布了 YARP(Yet Another...
-
8
BootstrapBlazor 使用模板创建项目 原文连接:
-
7
Bootstrap Blazor Table 组件(四)自定义列生成 原文链接...
-
7
.NET Core 实现后台任务(定时任务)BackgroundService(二) ...
-
6
.Net Core 配置文件读取 - IOptions、IOptionsMonitor、IOptionsSnapshot ...
-
4
.NET 7 首个RC(发布候选)版本 最近 .Net 的大事件,就是微软发布了.NET 7的首个RC(发布候选)版本,而据微软发布的消息,这是 .NET 7 的最后一个预览版,下一个版本将是第一个候选版本 (RC),发布时间定于 2022 年 11 月 8 日至 10。
-
5
.NET 反向代理-YARP 部署Https(SSL) YARP 作为反向...
-
6
.NET 部署Https(SSL)通过代码方式 在上一个文章中,...
-
4
.Net7 的到来的同时,也带来了 C# 11,而令我最期待的就是 C# 11 的 原始字符串了,当我知道这个的时候,简直比过年还要开心。 非原始字符串 首先我们看看现在写字符串的方式 var str = @" 雪莉:""有人在吗?"" 神乐:""他们...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK