Application Gateway添加多个Web APP站点

最近无服务器架构是一个非常火的话题,在传统的Web应用程序架构中,你必须管理基础架构,而若您用了Azure就可以从安全(Application Gateway)到网站(Web App & Function)到数据库(RDS DB )全部的无服务器架构了,这样可以极大的降低企业的运营管理成本且拥有无限的可扩展性。

今天主要聊聊Application Gateway添加多个Web App站点作为后端池成员.

也许很多读者很疑惑,官方文档明明写着Application Gateway可以支持多个站点托管,应该也支持添加多个Web APP站点吧。诚然官方文档写了可以添加Web APP作为后端池成员,但是…却没有相应的文档指导如何添加多个Web APP站点作为后端池成员。于是乎笔者花了些时间研究了下确实是可以让Application Gateway添加多个Web APP站点。

造成这种原因是Web APP服务本身就是一个多租户的服务,需要依赖于特定的主机头或者SNI扩展才能正确解析为正确的终结点。

测试的架构图如下所示:

下面我们就用PowerShell添加多Web App站点

首先,打开powershell界面

#登录Azure

Login-AzureRmAccount -Environment azurechinacloud

 

#列出该系统登录过的订阅账户(若之前未使用Powershell登录过,此步骤可省略),选择需要操作的订阅

Get-AzureSubscription

Select-AzureSubscription -SubscriptionId "8e6b37a5-63ab-44d9-8fc3-*********"

 

#输入你需要添加的Web App Dns

$webappFQDN = "web-app1.chinacloudsites.cn"

$webapp=$webappFQDN.Split(".")[0]

 

#输入应该程序网关的名称以及资源组的名称

$gatewayname= "multiple-webapp"

$resourcegroupname="multiple-webapp"

 

#获取当前应用程序网关的信息

$gw = Get-AzureRmApplicationGateway -Name $gatewayname -ResourceGroupName $resourcegroupname

 

#添加自定义健康检测

$match=New-AzureRmApplicationGatewayProbeHealthResponseMatch -StatusCode 200-399

Add-AzureRmApplicationGatewayProbeConfig -name "$webapp--probe" -ApplicationGateway $gw -Protocol Http -Path / -Interval 30 -Timeout 120 -UnhealthyThreshold 3 -PickHostNameFromBackendHttpSettings -Match $match

$probe = Get-AzureRmApplicationGatewayProbeConfig -name "$webapp--probe" -ApplicationGateway $gw

 

#添加HTTP设置

Add-AzureRmApplicationGatewayBackendHttpSettings -Name "$webapp--httpsetting" -ApplicationGateway $gw -Port 80 -Protocol Http -CookieBasedAffinity Disabled

Set-AzureRmApplicationGatewayBackendHttpSettings -Name "$webapp--httpsetting" -ApplicationGateway $gw -PickHostNameFromBackendAddress -Port 80 -Protocol http -CookieBasedAffinity Disabled -RequestTimeout 30 -Probe $probe

 

#添加后面地址池

Add-AzureRmApplicationGatewayBackendAddressPool -Name "$webapp--backendpool" -ApplicationGateway $gw

Set-AzureRmApplicationGatewayBackendAddressPool -Name "$webapp--backendpool" -ApplicationGateway $gw -BackendFqdns $webappFQDN

 

#更新应用程序网关

Set-AzureRmApplicationGateway -ApplicationGateway $gw

 

若有多个Web APP站点,更改变量后再执行一次就可以了。

等等,还没完事哦,若是多站点我们还需要添加listener以及rule,由于listener以主rule每个企业的需求不一样,比如可以按照path选择不同的后端资源池,这里主要以图形界面展示标准的rule配置。

在portal页面进入Application Gateway,新建一个listener,选择"Multi-Site"

 

点击"OK",若有多个listener,重复上述步骤

接下来先删除默认的rule1

然后添加rule,直接选择"basic"

同样的,若有多个rules重复上述步骤

 

 

配置完上述步骤后就算配置完成。

我们做个简单的测试:

首先在本地的hosts文件里添加上如下条目:

139.219.61.179 webapp-1.chinacloudsites.cn

139.219.61.179 webapp-2.chinacloudsites.cn

这样访问webapp-1和webapp-2就会强制转向Application Gateway

我们用ping命令测试下,看看是否指向Application Gateway的IP地址

这样访问webapp-1和webapp-2就会出现如下效果:

 

转载于:https://www.cnblogs.com/magictwt/p/7823585.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值