首页 > 其他分享 >【愚公系列】2023年04月 .NET CORE工具案例-YARP反向代理

【愚公系列】2023年04月 .NET CORE工具案例-YARP反向代理

时间:2023-04-29 21:01:09浏览次数:52  
标签:CORE github 04 代理 代理服务器 YARP 反向 服务器

(文章目录)


前言

1.YARP是什么

YARP (Yet Another Reverse Proxy) 是一个轻量级的 .NET 反向代理。它支持 HTTP 和 HTTPS 协议,可以将请求转发到其他服务器上。

YARP 可以用于许多用途,包括加载平衡、内部网络隔离、隐藏内部服务器的 IP 地址等。它支持使用规则来转发请求,并且可以在转发请求时添加或修改 HTTP 头。

YARP的github网址:https://github.com/microsoft/reverse-proxy 在这里插入图片描述

2.什么是反向代理

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。--百度百科

在这里插入图片描述

一、YARP反向代理

1.安装包

Install-Package Yarp.ReverseProxy

在这里插入图片描述

2.注入

#region 配置反向代理
//其中ReverseProxy是appsettings的配置节点
builder.Services.AddReverseProxy()
    .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));
#endregion
#region 添加反向代理中间件
//添加中间件
app.MapReverseProxy();
#endregion

在这里插入图片描述

3.配置appsettings.json

在appsettings.json添加yarp的配置项,如下:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ReverseProxy": {
    "Routes": {
      "route1": {
        "ClusterId": "yarp",
        "Match": {
          "Path": "{**catch-all}"
        }
      }
    },
    "Clusters": {
      "yarp": {
        "LoadBalancingPolicy": "RoundRobin",
        "Destinations": {
          "microsoft": {
            "Address": "https://docs.microsoft.com/zh-cn/"
          },
          "github": {
            "Address": "https://github.com/"
          }
        }
      }
    }
  }
}

在这里插入图片描述

4.运行

访问该站点将随机反向代理到微软官网和github

在这里插入图片描述

标签:CORE,github,04,代理,代理服务器,YARP,反向,服务器
From: https://blog.51cto.com/u_15437432/6236890

相关文章

  • 【230429-3】证明:任意给出九个空间格点,其至少有一对格点的奇偶性相同,且其中点坐标亦为
    【名词解释:格点】格点即三坐标都为整数的空间点,因其位置在虚拟的网格上故称格点。【格点奇偶性的八种情况】代码证明:packagetest230429;/***按奇偶性确定空间中格点的种类*格点,即xyz三坐标皆为整数的空间点*xyz为奇偶各有两种可能性,整体便有2^3=8种*8种意味着:一旦点......
  • 2023-04-29:一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数
    2023-04-29:一个序列的宽度定义为该序列中最大元素和最小元素的差值。给你一个整数数组nums,返回nums的所有非空子序列的宽度之和由于答案可能非常大,请返回对109+7取余后的结果。子序列定义为从一个数组里删除一些(或者不删除)元素,但不改变剩下元素的顺序得到的数......
  • 2023-04-29 动态规划介绍
    2023-04-29动态规划介绍动态规划是运筹学课程的一部分多阶段决策问题有一类活动的过程,可以分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果当然,每个阶段的决策的选取不是任意确定的,它依赖于当前的状态,又会影响以后的发展如下图,①......
  • (04)FastReport一张纸上标签打印
    先按 (03)FastReport6.8.11在Delphi10.3上的边框问题 设置好数据源 ......
  • [2core]加解密算法
    本文主要记录从.netframework迁移到.net6后,加解密算法的跨平台测试,如AES和RSA算法。因为RSA使用了BouncyCastle类库提供的实现,所以并没有遇到什么问题。完成加解密算法跨平台测试,迁移工作算是告一段,也标志着从.netframework迁移.net6工作完毕。迁移工作完毕,表示基于.netframewor......
  • 04 Real-time Global Illumination(GI)
    1.ReflectiveShadowMap(RSM)在RTR中,全局光照是想要得到比直接光照多一次bounce的间接光照。一切被直接光照照亮的物体都可以作为onebounce间接光照的光源(indirectionlight)。所以,全局光照就是direction+indirection。需要知道次级光源有哪些:shadowmap;需要计算次级光源在sh......
  • 力扣---1004. 最大连续1的个数 III
    给定一个二进制数组 nums 和一个整数k,如果可以翻转最多k个0,则返回数组中连续1的最大个数。 示例1:输入:nums=[1,1,1,0,0,0,1,1,1,1,0],K=2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从0翻转到1,最长的子数组长度为6。示例2:输入:nums=[0,0,1,1,0,0,1,1,1,......
  • ReadAlignChunk_processChunks.cpp:204:processChunks EXITING because of FATAL ERRO
     001、star报错 002、解决方法fastq文件为压缩格式,运行时需添加该参数:--readFilesCommandzcat ......
  • 云LIS系统基于ASP.NET CORE 3.1 MVC + SQLserver + Redis技术实践
    云LIS   利用云LIS实现区域内各级医院门诊、住院等日常医疗业务和行政业务的全流程管理和医院的无纸化运营,规范就医流程,提升医疗质量,提供科学决策支持,增强患者的就医体验。云LIS是为区域医疗提供临床实验室信息服务的计算机应用程序,可协助区域内所有临床实验室相互协调并......
  • ubuntu 20.04 安装obs 录屏软件
    obs是一个非常好用的录屏软件,我们在windows安装和使用是非常的简单,但是在ubuntu安装还是比较麻烦的,需要使用命令行,还需要很多的依赖。修改源debhttp://archive.ubuntu.com/ubuntu/focalmainrestricteduniversemultiversedeb-srchttp://archive.ubuntu.com/ubuntu/focalma......