.NET 反向代理-YARP 根据域名转发

时间:2022-09-21 20:08:35

  前段时间发布过一个关于 YARP 的简单介绍,感兴趣的小伙伴恭请移步看看 .NET 反向代理-YARP - 一事冇诚 - 博客园 (cnblogs.com)

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

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

域名服务商

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

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

.NET 反向代理-YARP 根据域名转发

 

 

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

.NET 反向代理-YARP 根据域名转发

 

 

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

.NET 反向代理-YARP 根据域名转发

 

 

.NET 反向代理-YARP 根据域名转发

 配置说明:

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

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

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

  至于其它的默认就好,需要注意的是,设置完后并非是立马起效果的,毕竟是需要更新缓存的,所以没生效不要紧,可以先泡上一杯茶,或者说office【手动狗头】

 

本地 hosts 文件

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

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

 .NET 反向代理-YARP 根据域名转发

 

 

 .NET 反向代理-YARP 根据域名转发

  这里也有一点需要注意的,修改完成后,如果浏览器是处于打开状态,请关掉重新启动,不然是不会重新加载 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 反向代理-YARP 根据域名转发

 

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

.NET 反向代理-YARP 根据域名转发

 

   好了,本次介绍到此结束,感谢各位大佬的阅读!

 

原文链接:https://www.cnblogs.com/ysmc/p/16714201.html