首页 > 解决方案 > Azure - 通过 ps 命令将 http 侦听器添加到现有的 ApplicationGateway

问题描述

我正在尝试使用 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>

有两件事在这里似乎不正常,

资源组未设置

应用程序网关名称未设置

谁能建议这背后的原因是什么?为什么监听器根本没有显示在门户中?

标签: azureazure-powershell

解决方案


根据我的测试,如果我们想使用 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 

在此处输入图像描述 在此处输入图像描述


推荐阅读