Azure Application Gateway (3) 设置URL路由

简介:

 《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,比如:

  http://139.219.234.106/images

  这个请求就会被发送到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

  

 



本文转自Azure Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/6198315.html,如需转载请自行联系原作者


目录
相关文章
|
6月前
|
Python
路由(URL routing)
【8月更文挑战第23天】
46 4
|
6月前
|
API 开发者 Python
"FastAPI路由大揭秘!轻松玩转URL映射,让你的Web应用路由设计既RESTful又灵活多变,秒杀传统框架的秘籍在这里!"
【8月更文挑战第31天】在Web开发中,路由是连接用户请求与后端逻辑的关键。FastAPI作为现代Python Web框架的佼佼者,以其简洁的API设计和高性能,提供了高度灵活的路由系统。本文通过开发一个博客系统的案例,详细介绍了FastAPI中路由的实现方法,包括基础路由定义、参数类型验证及路由分组与嵌套等,展示了如何轻松构建RESTful风格的URL映射,提升应用的可维护性和扩展性。
184 2
|
6月前
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
|
7月前
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
737 15
|
6月前
|
开发者 Java UED
大文件传输不再头疼:揭秘Struts 2如何轻松应对文件上传与下载难题!
【8月更文挑战第31天】在Web应用开发中,文件上传与下载至关重要。Struts 2作为主流Java EE框架,凭借Commons FileUpload及文件上传拦截器简化了相关操作。本文探讨Struts 2在文件传输上的优势,通过具体配置与代码示例,展示如何设置最大文件大小、使用`fileUpload`拦截器以及实现文件上传与下载功能。对于大文件传输,Struts 2不仅能够轻松应对,还支持上传进度显示,有效提升了用户体验。总体而言,Struts 2为文件传输提供了高效便捷的解决方案,助力开发者构建稳定可靠的Web应用。然而,在处理大文件时需兼顾网络带宽与服务器性能,确保传输顺畅。
94 0
|
6月前
|
API UED 开发者
Vaadin路由魔法:导航之舟,带你穿越页面迷宫!驾驭神奇URL,解锁无限可能!
【8月更文挑战第31天】Vaadin是一款现代Java Web开发框架,其路由机制结合前后端路由,确保流畅的用户体验和高效服务器资源利用。通过`@Route`注解和`Router`类,开发者可以轻松定义和管理页面路径。例如,`@Route("home")`可指定视图路径,而参数化路由如`@Route("user/:userId")`则允许URL传参。此外,Vaadin还提供了丰富的导航API和自定义路由事件监听器,助力开发者构建结构清晰且体验优秀的Web应用。
90 0
|
6月前
|
存储 API 网络架构
【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度
【Azure 存储服务】MP4视频放在Azure的Blob里面,用生成URL在浏览器中打开之后,视频可以正常播放却无法拖拽视频的进度
|
6月前
|
存储 Java 开发工具
【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
|
6月前
|
网络协议
【Azure 应用服务】探索在Azure上设置禁止任何人访问App Service的默认域名(Default URL)
【Azure 应用服务】探索在Azure上设置禁止任何人访问App Service的默认域名(Default URL)
|
6月前
|
API
【Azure API 管理】Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错
【Azure API 管理】Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错