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

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

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

域名服务商

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

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

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

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

配置说明:

  主机记录:简单来说就是创建一个前缀,用于区分这个域名是干嘛的,例如我可以创建一个 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了

  这里也有一点需要注意的,修改完成后,如果浏览器是处于打开状态,请关掉重新启动,不然是不会重新加载 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 配置即可,是不是非常的简单啊!我们看看实际效果:

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

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

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

.NET 反向代理-YARP 根据域名转发的更多相关文章

  1. 002-nginx-在 nginx 反向代理中使用域名,配置动态域名解析

    一.概述 代理(proxy),即中间人,它代替客户端发送请求给服务器,收到响应后再转给客户端.通常意义上的代理是从用户的角度讲的,用户通过某个代理可以访问多个网站,这个代理是靠近用户的,比如某些公司可 ...

  2. nginx实现反向代理 配置多域名以及多端口号

    多个服务部署在同一个服务器,使用不同的端口. 一.思考过程 如果不想带上端口号,就只能访问 80 或 443 端口. 可以用过二级目录区分服务,通过反向代理转发到不同的 Server. 可以用过子域名 ...

  3. .NET 反向代理-YARP 部署Https(SSL)

    YARP 作为反向代理中间件,那就无可避免需要使用到 Https 去部署项目,那 YARP 要怎么去实现呢,本来以为 YARP 会有一套自己的实现,在翻阅了资料后发现,根本不是我想的那样,按照 YAR ...

  4. .NET 反向代理 YARP 跨域请求 CORS

    使用过 nginx 的小伙伴应该都知道,这个中间件是可以设置跨域的,作为今天的主角,同样的 反向代理中间件的 YARP 毫无意外也支持了跨域请求设置. 有些小伙伴可能会问了,怎样才算是跨域呢? 在 H ...

  5. .NET 反向代理 YARP 代理 GRPC

    前面的 YARP 文档中,介绍了怎么去代理 http,和如何根据域名转发,而在现在微服务的应用是越来越来多了,服务间的调用依靠 http 越来越不现实了,因为 http 多次握手的耗时越发的影响应用的 ...

  6. 设置nginx反向代理将80端口转发到9999端口

    关于linux系统不允许个人账户使用80端口,导致无法将express默认的bin/www内3000端口改为80端口一个问题,可以使用sudo来强制启动,当然,这样显然不合适,这时候,可以使用ngin ...

  7. .NET 反向代理-YARP

    什么是 YARP YARP (另一个反向代理) 设计为一个库,提供核心代理功能,你可以根据应用程序的特定需求进行自定义. YARP 是使用 .NET的基础架构构建在 .NET上的.YARP 的主要不同 ...

  8. nginx ip配置反向代理为本地域名

    #### gitlab反向代理 server { listen ; server_name gitlab.hp.com; location / { proxy_pass http://192.168. ...

  9. .NET 反向代理 YARP 通过编码方式配置域名转发

    前面介绍了 YARP 通过配置文件的方式配置代理转发(传送门),而众所周知,微软的一贯作风就是能通过配置文件做的事情,通过编码的方式也能实现!YARP 也不例外,废话不多说,直接上代码! 首先,参照官 ...

随机推荐

  1. Day02 HTML语法

    有两种类型的标签 双标记<标记名>内容</标记名> 单标记<标记名/> 属性: 对标签的描述--属性,由属性名和属性值组成 <标记名 属性名 = " ...

  2. 准备java编程软件与第一个java程序

    我们要用的java的编程软件叫做:eclipse windows上安装eclipse 首先需要一个浏览器 要下载eclipse最简单的方式就是在官网下载  官网:https://www.eclipse ...

  3. java通过注解顺序通过映射导出excel

    import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.ann ...

  4. java后端接受Vue传递的List

    Failed to resolve argument 1 of type 'java.util.List' org.springframework.web.bind.MissingServletReq ...

  5. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at java.net.URLClassLoader.findCla ...

  6. 005_面试题 Java_传递方式

    面试题: 问:java是值传递还是引用传递? 答:java只有值传递,基本类型传递的是具体的数,引用类型传递的是具体的地址

  7. 2.Android高仿网易云音乐-引导界面和广告界面实现

    效果图 效果图依次为图片广告,视频广告,引导界面. 系列文章目录导航 目录 1.实现分析 广告界面就是显示图片和视频,所以可以放一个图片控件,视频控件,然后跳过按钮,提示按钮,WiFi预加载提示都是放 ...

  8. excel网络函数库之谷歌翻译

    不知道看到本篇文章的小伙伴是否被表格翻译所困扰,当面对大量需要被翻译的文件内容,有着三头六臂的孙悟空也难以招架得住,那么有没有一个工具能让我们快速将大量文件进行翻译呢? ExcelApi函数库的横空出 ...

  9. Python3.7+Tornado5.1.1+Celery3.1+Rabbitmq3.7.16实现异步队列任务

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_99 在之前的一篇文章中提到了用Django+Celery+Redis实现了异步任务队列,只不过消息中间件使用了redis,redi ...

  10. 实践GoF的设计模式:迭代器模式

    摘要:迭代器模式主要用在访问对象集合的场景,能够向客户端隐藏集合的实现细节. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式:迭代器模式>,作者:元闰子. 简介 有时会遇到这 ...