.NET反向代理组件YARP介绍

作者:一事冇诚 时间:2023-07-23 02:29:45 

什么是 YARP

YARP (另一个反向代理) 设计为一个库,提供核心代理功能,你可以根据应用程序的特定需求进行自定义。

YARP 是使用 .NET的基础架构构建在 .NET上的。
YARP 的主要不同之处在于,它被设计成可以通过 .NET 代码轻松定制和调整,以满足每个部署场景的特定需求。

同时,YARP是一个开源项目,托管于 Github 上,开源地址https://github.com/microsoft/reverse-proxy

什么是反向代理

反向代理服务器是代理服务器中的一种,它是在Web服务器之前实现的,并将客户端请求定向到特定的后端服务器。通常,反向代理有助于提高Web服务器的安全性和性能,并防止过载。

.NET反向代理组件YARP介绍

反向代理作用

1.负载平衡。通常,拥有许多日常用户的网站无法使用一个原始服务器处理所有流量。因此,网站会在不同后端服务器的群集之间均衡分配用户流量。这些服务器管理同一网站的客户端请求。

此外,反向代理可以避免任意单个服务器过载,因为所有站点的流量都必须通过反向代理。只有这样,流量才能访问特定的后端服务器。

2.保护免受黑客攻击。如果网站使用反向代理,则其服务器的地址将被隐藏,黑客只能访问 * 地址。这对黑客和恶意实体起到了一定的防护。

例如:对使用反向代理的网站进行分布式拒绝服务(DDoS)攻击要困难得多。DDoS攻击是通过破坏主机服务与互联网的连接,从而使用户无法访问该网站。

当网站使用反向代理时,黑客将只能攻击这些代理,这将作为附加的安全层。

3.缓存。缓存使网站可以有效地重用以前获得的数据。这是将文件副本存储在缓存中以便更迅速地访问的过程。这使网站和应用程序可以更高效地运行。

反向代理服务器可用于缓存网站的内容并提高网站的性能。

如何使用YARP

YARP是基于.Net架构的一个库,其提供了核心代理功能,而又因为 .Net Core 是跨平台的,所以可以应用在 windows 于 linux 上;

既然是一个库,首先第一步肯定是创建一个新项目,并且安装上这一个库:

1、创建一个空的.Net Core 项目

.NET反向代理组件YARP介绍

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

.NET反向代理组件YARP介绍

或者使用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/"
       }
     }
   }
 }
}

大功告成,可以愉快玩耍了!

写在最后

Bootstrap Blazor 官网地址:https://www.blazor.zone

来源:https://www.cnblogs.com/ysmc/p/16665788.html

标签:.NET,反向,代理,组件,YARP
0
投稿

猜你喜欢

  • Python使用pickle模块报错EOFError Ran out of input的解决方法

    2021-06-03 02:56:57
  • mysql插入数据INSERT INTO SET的优势

    2024-01-13 11:52:33
  • javascript 兼容所有浏览器的DOM扩展功能

    2024-04-16 09:52:04
  • js下用eval生成JSON对象

    2024-04-19 10:00:24
  • MySQL获取所有分类的前N条记录

    2024-01-21 09:39:27
  • jQuery是用来干什么的 jquery其实就是一个js框架

    2024-04-22 22:22:42
  • 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题

    2024-01-13 11:06:50
  • 解决 jupyter notebook 回车换两行问题

    2022-09-11 17:23:46
  • Web标准基础教程:CSS简写指南

    2010-04-02 12:47:00
  • django 2.2和mysql使用的常见问题

    2024-01-27 17:40:02
  • 详解Python中的三元运算

    2021-02-22 12:27:26
  • 关于Python核心框架tornado的异步协程的2种方法详解

    2022-01-24 08:26:00
  • python实现斐波那契递归函数的方法

    2022-03-22 19:54:49
  • Python编程给numpy矩阵添加一列方法示例

    2023-08-29 07:22:30
  • python+pyqt实现12306图片验证效果

    2023-11-02 07:28:18
  • 详解tf.device()指定tensorflow运行的GPU或CPU设备实现

    2021-03-25 19:39:27
  • MySQL 8.0.29 解压版安装配置方法图文教程

    2024-01-16 03:20:50
  • SQL语句实例说明 方便学习mysql的朋友

    2024-01-22 19:48:50
  • python调用动态链接库的基本过程详解

    2023-05-31 13:24:00
  • Python闭包和装饰器用法实例详解

    2021-04-07 10:05:02
  • asp之家 网络编程 m.aspxhome.com