gpt4 book ai didi

azure - 如何使用 MSDeploy 扩展将包部署到 Azure Web App? (HTTP header 之一的值格式不正确)

转载 作者:行者123 更新时间:2023-12-03 00:13:38 29 4
gpt4 key购买 nike

我正在尝试构建一个非常简单的 Azure 资源管理器模板来配置应用服务计划、Web 应用程序并立即使用 MSDeploy 在那里部署包。我在 Visual Studio 中创建了一个资源组项目,并添加了 Web 应用程序和 MSDeploy 扩展。我基本上是按照这篇文章来的:http://blogs.technet.com/b/georgewallace/archive/2015/05/10/deploying-a-website-with-content-through-visual-studio-with-resource-groups.aspx 。我没有自定义项目附带的部署PowerShell脚本。

这是模板:http://pastebin.com/raw/aFsMyg1W

一切看起来都应该可以工作(包已上传到 blob,Web 应用程序已创建),但部署失败并显示消息:

Resource Microsoft.Web/sites/extensions 'xg-test-webapp5/MSDeploy' failed with message 'The resource operation completed with terminal provisioning state 'Failed'.

可通过 Kudu 控制台访问错误消息 (LogFiles/SiteExtensions/MSDeploy/appManagerLog.xml):

AppGallery Deploy Failed: 'Microsoft.WindowsAzure.StorageClient.StorageClientException: The value for one of the HTTP headers is not in the correct format

完整日志:

full log

仅供引用,这里是上传包的 blob 的内容。可以看出,可以通过正确的 URL 访问它。

blob

知道发生了什么吗?谢谢

最佳答案

在 ARM 模板中,MSDeploy 扩展资源的 packageUri 属性是参数的串联:_artifactsLocationwebdeployPackageFolder_artifactsLocationSasToken

我在下面测试了您的实际 Web 部署包 blob Uri。 https://xgartifacts.blob.core.windows.net/xg-test-rg-stageartifacts/deploy/package.zip

它是一个可公开访问的 blob,这意味着无需 SAS token 即可下载它。

因此,您不应将 SAS token 包含在 ARM 模板的 packageUri 属性中。

希望这有帮助!

"packageUri": "[concat(parameters('_artifactsLocation'), '/', parameters('webdeployPackageFolder'), '/', parameters('webdeployPackageFileName'), parameters('_artifactsLocationSasToken'))]"

关于azure - 如何使用 MSDeploy 扩展将包部署到 Azure Web App? (HTTP header 之一的值格式不正确),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36152165/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com