我已使用专用终结点配置了 Azure Web 应用程序,并希望使用 Azure DevOps 进行部署。我使用 Azure Blob 存储和 Azure CLI 发现了这种可能性:https://azure.github.io/AppService/2021/03/01/deploying-to-network-secured-sites-2.html
以下 Azure CLI webapp 部署命令:
az webapp deploy --name $WEBAPP --resource-group $GROUP --type zip --src-url $ZIP_URL --async false
但是出现以下 Http 403 错误:您尝试访问的 Web 应用程序已阻止您的访问。
我正在使用服务主体登录。
我在这里缺少什么线索吗?
最佳答案
我遇到了同样的问题并打开了 Microsoft 支持票证。这就是答案:“az webapp deploy --src-url”存在问题:它实际上不通过 ARM API,而是直接到达 Web 应用程序的 scm 端点(由于专用端点而被阻止)设置)。
报告了一个错误来修复此问题:https://github.com/Azure/azure-cli/issues/21168
同时的解决方案是不使用Azure cli命令“az webapp deploy”,而是直接调用ARM API。在你的情况下,它是这样的:
az rest --method PUT --uri https://management.azure.com/subscriptions/${SUBSCRIPTIONID}/resourceGroups/${RESOURCEGROUP}/providers/Microsoft.Web/sites/${WEBAPP}/extensions/onedeploy?api-version=2022-03-01 --body '{"properties": {"type": "zip", "packageUri": ${ARTIFACTURL} }}'
此调用将通过 ARM 代理进行,不会被您的专用端点设置阻止。
关于azure - 使用专用终结点部署到 Azure Web App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71558607/