.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服务器的安全性和性能,并防止过载。
反向代理作用
1.负载平衡。通常,拥有许多日常用户的网站无法使用一个原始服务器处理所有流量。因此,网站会在不同后端服务器的群集之间均衡分配用户流量。这些服务器管理同一网站的客户端请求。
此外,反向代理可以避免任意单个服务器过载,因为所有站点的流量都必须通过反向代理。只有这样,流量才能访问特定的后端服务器。
2.保护免受黑客攻击。如果网站使用反向代理,则其服务器的地址将被隐藏,黑客只能访问 * 地址。这对黑客和恶意实体起到了一定的防护。
例如:对使用反向代理的网站进行分布式拒绝服务(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/"
}
}
}
}
}
大功告成,可以愉快玩耍了!
写在最后
Bootstrap Blazor 官网地址:https://www.blazor.zone
来源:https://www.cnblogs.com/ysmc/p/16665788.html


猜你喜欢
- 上传问题可以说是网络编程中经常遇到的,也是一个很重要的问题,我们不仅要实现上传文件,图片等基本功能,还有考虑到上传程序的安全性,本文介绍了一
- 本文实例讲述了Python实现matplotlib显示中文的方法。分享给大家供大家参考,具体如下:【注意】可能与本文主题无关,不过我还是想指
- Options Indexes FollowSymLinks ExecCGI  
- 文章先介绍了关于俄罗斯方块游戏的几个术语。边框——由10*20个空格组成,方块就落在这里面。盒子——组成方块的其中小方块,是组成方块的基本单
- 两张表 组织架构表(Organise) 和 工资发放历史记录表 (WagePerMonthHis) 两张表通过 Organise.Item_
- 在我看来学习不难,配置一些环境真的很痛苦,之前的caffe配置,一口老血。。不过用Python遇到了pip安装,真的赞,可是在用pip装te
- 我就废话不多说了,大家还是直接看代码吧~import pymysqlfrom sshtunnel import SSHTunnelForwa
- 最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流!1. 求两个经纬点的方位角,
- mysql limit 分页的用法及注意事项:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,my
- 前言本文从代码复用的角度一步一步演示如何从python普通代码进化到面向对象,并通过代码去解释一些面向对象的理论。所以,本文前面的内容都是非
- 1. IO多路复用O多路复用技术是使用一个可以同时监视多个IO阻塞的中间人去监视这些不同的IO对象,这些被监视的任何一个或多个IO对象有消息
- Pandas提供了duplicated、Index.duplicated、drop_duplicates函数来标记及删除重复记录duplic
- 如下所示:######### Extract all files from src_dir to des_dirdef extract_ta
- 一切从一个糟糕的浏览器开始,它完全不支持 XHTML。什么是 MIME Type? 为什么这么说呢?首先,我们要了解浏览器是如何处理内容的。
- 太坑了,安装之前一定要关掉VPN!!!!!!我的python是3.8版本的。第一步:在命令行中输入以下代码安装xarray:conda in
- 本文实例讲述了Python实现PS滤镜中马赛克效果。分享给大家供大家参考,具体如下:这里利用 Python 实现PS 滤镜中的马赛克效果,具
- 本文实例讲述了js实现照片墙功能的方法。分享给大家供大家参考。具体实现方法如下:<!doctype html><html
- 前言在之前的一篇文章Python可视化神器-Plotly动画展示展现了可视化神器-Plotly的动画的基本应用,本文介绍如何在Python中
- php代码实现读取文件头判断文件类型,支持图片、rar、exe等后缀。案例:<?php $filename = "11.jp
- 如何在VS2013下对MySQL5.6进行连接,本文为大家提供了解决方案,供大家参考,具体内容如下环境:win832系统,VS2013,My