我正在尝试使用Powershell脚本将新的侦听器添加到现有的Azure应用程序网关。这是我使用的命令。
Add-AzApplicationGatewayHttpListener -ApplicationGateway $Appgw -Name $listenerName -FrontendIPConfiguration $fipconfig -FrontendPort $port -SslCertificate $cert -HostName $hostName -Protocol "Https" -Debug
所有变量均已正确初始化。命令执行良好,并返回看起来正常的ApplicationGateway对象。但是,新添加的侦听器在Azure门户中不可见。在仔细观察了ApplicationGateway对象(在Powershell中)中的新侦听器之后,它仅显示在资源路径下方,
/subscriptions/<subscription-id>/resourceGroups/ResourceGroupNotSet/providers/Microsoft.Network/applicationGateways/ApplicationGatewayNameNotSet/httpListeners/<new-listener-name>
两件事在这里似乎不正常,
ResourceGroupNotSet
ApplicationGatewayNameNotSet
任何人都可以提出这背后的原因吗?为什么在门户网站上根本不显示该侦听器?
答案 0 :(得分:1)
根据我的测试,如果要使用Powershell将HTTP侦听器添加到现有的Azure应用程序网关,则需要在运行命令Set-AzApplicationGateway -ApplicationGateway $appgw
之后运行命令Add-AzApplicationGatewayHttpListener
。因为命令Add-AzApplicationGatewayHttpListener
只会创建一个新的HTTP侦听器,但不会更新应用程序网关。
Connect-AzAccount
$AppGWname ="stantest"
$groupName="stan"
$ipName="appGwPublicFrontendIp"
$portName="port_80"
$listenerName="test1"
$appgw= Get-AzApplicationGateway -Name $AppGWname -ResourceGroupName $groupName
$FEC= Get-AzApplicationGatewayFrontendIPConfig -Name $ipName -ApplicationGateway $appgw
Add-AzApplicationGatewayFrontendPort -ApplicationGateway $appgw -Name $portName -Port 80
$port =Get-AzApplicationGatewayFrontendPort -ApplicationGateway $appgw -Name $portName
Add-AzApplicationGatewayHttpListener -ApplicationGateway $appgw -Name $listenerName -FrontendIPConfiguration $FEC -FrontendPort $port -Protocol Http
Set-AzApplicationGateway -ApplicationGateway $appgw