《Windows Azure Platform 系列文章目录》
在之前的文章中,笔者介绍了Azure Web App可以设置URL路由。如下图:
在这里笔者简单介绍一下,首先我们还是创建以下资源:
1.创建一个新的Azure Resource Group,命名为LeiAppGWRG
2.创建一个新的ARM Virtual Network,命名为LeiAppGatewayVNet
有两个Subnet,分别为web-subnet,CIDR: 10.0.0.0/24
另外一个subnet,叫appgateway-subnet,专门给Application Gateway使用,CIDR:10.0.1.0/24
3.在创建新的Application Gateway,命名为:LeiAppGateway
需要注意:如果我们要针对80端口设置URL Routing,我们必须设置Listener Configuration为Port 81
不可以是Port 80,因为会被占用需要修改
不可以是Port 80,因为会被占用需要修改
不可以是Port 80,因为会被占用需要修改
然后等Azure Application Gateway创建完毕
在这里还需要强调一下,当我们接下来还要操作的步骤:
1.针对80端口,增加Listener
2.不要修改和使用默认的appGatewayBackendPool
3.在Backend Pools,创建新的imagesBackendPool,并设置Backend Addresses
4.在Backend Pools,创建新的videosBackendPool,并设置Backend Addresses
5.最后配置一下Application Gateway的Rules
1.接下来开始第一部分,针对80端口,增加Listener
我们选择Application Gateway,选择Listener,然后点击 + Basic。
新增加针对80端口的Listerner: appGateway80Listener。如下图:
2.不要修改和使用默认的appGatewayBackendPool
3.选择Application Gateway,选择Backend Pool,然后点击Add。增加新的imagesBackendPool,并设置Backend Addresses
当我们访问这个imagesBackendPool的时候,Application Gateway会把请求发送到内网IP为10.0.0.4和10.0.0.5的这2台VM
4.选择Application Gateway,选择Backend Pool,然后点击Add。增加videosBackendPool,Address设置为10.0.0.11和10.0.0.12
这样我们访问url路径为/images的时候,Application Gateway会把请求发送到内网IP为10.0.0.11和10.0.0.12的这2台VM
5.最后,我们设置Rules,点击+ Path-based,命名为pathBasedRule。
Listener选择之前创建的appGateway80Listener
Default backend pool为appGatewayBackendPool
注意下图的BackEndPool,选择默认的appGatewayBackendPool和我们新创建的imagessBackendPool。
需要注意,当我们访问Application Gateway的地址时候,访问逻辑是这样的:
(1)如果我们访问URL路径为/images/*的时候,请求被发送到imagesBackendPool,对应的内网IP地址为10.0.0.4和10.0.0.5
(2)如果我们访问URL路径为/videos/*的时候,请求被发送到videosBackendPool,对应的内网IP地址为10.0.0.11和10.0.0.12
(3)当Path不匹配的时候,请求被发送到默认的imagesBackendPool。
截图如下:
6.准备Backend Pool所需要的虚拟机。
然后我们在先创建新的Azure ARM Storage Account,然后创建4台Windows Server 2012 R2的虚拟机,对应的IP如下:
虚拟机名称 | 内网IP地址 | Virtual Network子网 | 对应Application Gateway的Backend Pool | 对应Application Gateway的访问URL路径 | 备注 |
ImagesVM01 | 10.0.0.4 | web-subnet | appGatewayBackendPool | /images/* | 安装IIS,增加虚拟目录images。修改IIS欢迎页面为虚拟机机器名 |
ImagesVM02 | 10.0.0.5 | web-subnet | appGatewayBackendPool | /images/* | 安装IIS,增加虚拟目录images。修改IIS欢迎页面为虚拟机机器名 |
VideosVM01 | 10.0.0.11 | web-subnet | videosBackendPool | /videos/* | 安装IIS,增加虚拟目录videos。修改IIS欢迎页面为虚拟机机器名 |
VideosVM02 | 10.0.0.12 | web-subnet | videosBackendPool | /videos/* | 安装IIS,增加虚拟目录videos。修改IIS欢迎页面为虚拟机机器名 |
创建完毕后,请记住,因为我们针对Port 80设置Application Gateway,需要在上面的VM上安装IIS,并增加相应的虚拟目录。
7.然后我们查看Azure Application Gateway,点击Overview,就可以查看到这个Application Gateway的动态IP(注意是动态IP地址,不是静态IP)和DNS Name。
如下图:
动态IP是: 139.219.234.106
DNS是:ceca34df-a6ed-4914-8137-f44223e220e6.chinacloudapp.cn
8.我们访问上面的Frontend Public IP Address,比如:
这个请求就会被发送到appGatewayBackendPool的两台VM,内网IP分为别10.0.0.4和10.0.0.5
我们访问:http://139.219.234.106/videos/
这个这个请求就会被发送到videosBackendPool的两台VM,内网IP分为别10.0.0.11和10.0.0.12
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2013-12-27 [SDK2.2]Windows Azure Virtual Network (2) 创建简单的Virtual Network
2012-12-27 [New Portal]Windows Azure Cloud Service (33) 使用Visual Studio 2012 部署Cloud Service