.NET使用YARP根据域名转发实现反向代理

 更新时间:2022年09月24日 10:42:36   作者:一事冇诚  
这篇文章介绍了.NET使用YARP根据域名转发实现反向代理的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前段时间发布过一个关于 YARP 的简单介绍,感兴趣的小伙伴恭请移步看看.NET反向代理组件YARP介绍

作为反向代理,必不可少的当然是根据域名代理转发啦,毫无疑问,YARP 是支持通过域名代理转发的,本文将介绍如何在配置文件中进行域名的配置

首先,你得有一个域名,本地测试的话可以修改 host 文件,达到假装自己有域名的效果【手动狗头】,有些小伙伴可能不知道怎么设置域名、和怎么修改 host 文件,下面我简单说一下:

域名服务商

笔者手上只有一个域名,而且是华为云的,所以就拿华为云的作为介绍啦,其他的域名服务上都大同小异:

1、登录进入到 华为云-控制台,并展开左上角菜单,搜索 “域名”,点击进入到 “云解析服务 DNS”

2、点击 “公网域名”,然后找到需要进行解析的域名的对应操作栏,点击 “管理解析”

3、进入到 “管理解析” 页面后,点击右上角的 “添加记录集”,即可进行域名解析配置

配置说明:

主机记录:简单来说就是创建一个前缀,用于区分这个域名是干嘛的,例如我可以创建一个 test.ysmc.net.cn,表示我这个域名是用于测试的,我这么说只是为了方便理解,还是建议大家去查查正确的解析;

类型:A-将域名指向IPv4地址;

值:就是你要指向的具体IP是多少了,因为是测试用,这里直接指向了本地地址127.0.0.1;

至于其它的默认就好,需要注意的是,设置完后并非是立马起效果的,毕竟是需要更新缓存的,所以没生效不要紧

本地 hosts 文件

对于没有域名的小伙伴来说,可以通过修改本地 houst 文件,以达到同样拥有域名的状态,而且还不受限制,想起什么名字就什么名字,非常的 nice;

1、Win+R 打开 “运行” 对话框,输入 hosts文件所在目录路径:C:\WINDOWS\system32\drivers\etc ,当然,你也可以按照着路径,一个一个打开,找到 hosts 文件后,右键编辑就OK了

这里也有一点需要注意的,修改完成后,如果浏览器是处于打开状态,请关掉重新启动,不然是不会重新加载 hosts 文件的,切记切记!

我们分别创建两个域名解析,test1.ysmc.net.cn test2.ysmc.net.cn,然后开始我们今天的主题吧!

直接上配置文件

"ReverseProxy": {
  "Routes": {
    "baidu": {
      "ClusterId": "baidu",
      "Match": {
        "Hosts": [ "test1.ysmc.net.cn" ],
        "Path": "{**catch-all}"
      }
    },
    "blazor": {
      "ClusterId": "blazor",
      "Match": {
        "Hosts": [ "test2.ysmc.net.cn" ],
        "Path": "{**catch-all}"
      }
    }
  },
  "Clusters": {
    "baidu": {
      "LoadBalancingPolicy": "RoundRobin",
      "Destinations": {
        "baidu": {
          "Address": "https://www.baidu.com/"
        }
      }
    },
    "blazor": {
      "LoadBalancingPolicy": "RoundRobin",
      "Destinations": {
        "blazor": {
          "Address": "https://www.blazor.zone/"
        }
      }
    }
  }
}

看过我之前介绍 YARP 的文章的小伙伴可能已经发现了,想要实现 根据域名代理转发 这个功能,其实只需要在 Match 节点中,添加 Hosts 配置即可,是不是非常的简单啊!我们看看实际效果:

并且在控制台中,也会产生相应的输出

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • .Net遍历窗体上控件的方法

    .Net遍历窗体上控件的方法

    这篇文章主要介绍了.Net遍历窗体上控件的方法,通过foreach语句实现遍历窗体上的控件以及找出TextBox控件的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • ASP.NET中GridView的文件输出流方式

    ASP.NET中GridView的文件输出流方式

    本文的主要内容是讲ASP.NET中GridView输出显示的文件,这是个人项目中的一点小经验,希望能给到有需要帮助的人。
    2016-08-08
  • ASP.NET笔记之Calender的使用说明

    ASP.NET笔记之Calender的使用说明

    在Calender中,所有可选择的符号会显示下划线,这是因为它们在浏览器都会呈现为链接。如果让用户可以选择某天、月、周,必须设置SelectionMode属性
    2013-04-04
  • asp.net 身份验证(最简单篇)

    asp.net 身份验证(最简单篇)

    在创建网站中,常常会使用到身份验证。asp.net中内置了几种身份验证的方式,如Windows、Froms、Passport等。这几种身份验证的方式各有不同。
    2009-05-05
  • .net中自定义错误页面的实现方法

    .net中自定义错误页面的实现方法

    这篇文章主要给大家介绍了关于.net中自定义错误页面实现的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • Asp.net TextBox的TextChanged事件使用介绍

    Asp.net TextBox的TextChanged事件使用介绍

    动态创建的控件是如何加载视图状态,还提到ProcessPostData方法的调用,这里我就用TextBox的TextChanged事件来说说视图数据的加载以及事件的触发
    2012-12-12
  • .NET微信公众号开发之准备工作

    .NET微信公众号开发之准备工作

    本文是.NET微信公众号开发系列文章的第一篇,主要给大家简单介绍下微信公众号的一些操作,有需要的小伙伴可以参考下。
    2015-07-07
  • asp.net实现负载均衡

    asp.net实现负载均衡

    本文给大家分享的是asp.net实现负载均衡的方案,是个人的一些经验总结,有需要的小伙伴可以参考下
    2016-01-01
  • .net数据库连接池配置技巧(默认值)

    .net数据库连接池配置技巧(默认值)

    ado.net 本就有连接功能,所有.net开法基本不用去考虑连接问题,怪不得.net的连接池资料网上找不到。.net连接池只要在连接字符串里配制就可以了
    2008-12-12
  • asp.net 中国身份证号码验证代码 非正则

    asp.net 中国身份证号码验证代码 非正则

    asp.net 中国身份证号码验证,需要的朋友可以参考下。
    2009-11-11

最新评论