首页 > 其他分享 >反向代理-YARP

反向代理-YARP

时间:2023-02-09 22:35:06浏览次数:50  
标签:网站 代理 YARP 反向 https 服务器

.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   star

2、点击star,如下图,即可完成star,关注项目不迷路:

 

另外还有两个GVP项目,大佬们方便的话也点下star呗,非常感谢:

  BootstrapAdmin 项目地址:star
  https://gitee.com/LongbowEnterprise/BootstrapAdmin

  SliderCaptcha 项目地址:star
  https://gitee.com/LongbowEnterprise/SliderCaptcha

 

标签:网站,代理,YARP,反向,https,服务器
From: https://www.cnblogs.com/Leo_wl/p/17107367.html

相关文章

  • 当2个前端vue配置转发代理的端口都是一样的话,你电脑同时启动2个vue项目,第二个vue项目
    当2个前端vue配置转发代理的端口都是一样的话,你电脑同时启动2个vue项目,第二个vue项目的配置转发代理的端口会变第一个启动的vue项目    第二个启动的跟第一个vu......
  • tomcat反向代理,监控,性能优化详细步骤
    第1章tomcat简介Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成Tomcat服务器是一......
  • 如何配置Docker代理
    目录下载clash运行clash更新docker.service重启docker下载clashwgethttps://github.com/Dreamacro/clash/releases/download/v1.13.0/clash-linux-amd64-v1.13.0.gzgzi......
  • nginx反向代理
    nginx配置1.xshell进入根目录/etc2.进入etc目录,这个目录下有一个nginx目录,进入到这个目录(如果已经安装过nginx,会有很多文件,未安装的话,只有四五个文件)3.如果向安装nginx......
  • Nignx 反向代理
    编译源码包准备安装编译所用的依赖和工具$sudoyum-yinstallmakezlibzlib-develgccgcc-c++libtoolopensslopenssl-develwgetpcrepcre-develgit解压并安装$l......
  • 移动端IOS配置whistle代理
    1.官网安装whistle地址https://wproxy.org/whistle/install.html2.移动端使用whistle额外说明移动端需要先下载本地启动的w2startwhistle证书;打开本地电脑的代理地......
  • 真正“搞”懂HTTP协议11之代理服务
    代理,其实全称应该叫做代理服务器,它是客户端与服务器之间得中间层,本质上来说代理就是一个服务器,在HTTP的链路中插入的一个中间环节,就是代理服务器啦。所谓的代理服务就......
  • 动态代理
    动态代理方法:importorg.springframework.util.CollectionUtils;importorg.springframework.util.StringUtils;importjava.lang.reflect.InvocationHandler;importjava......
  • 定义一个函数,实现反向输出一个整数
    defreverse():number=eval(input("请输入一个整数"))a=number//10000b=(number%10000)//1000c=(number%1000)//100d=(num......
  • 关于webpack 开启代理proxy后,接口看不到代理地址的问题。
    今天在项目中发现,  明明在proxy里代理了 接口地址确不是10.10.11.106/front/xxxxxx。这是为啥呢?changeOrigin的修改也是一样,在网络请求中发现host还是没改。这又......