gpt4 book ai didi

azure - 当 Azure 应用服务启用身份验证时,是否可以使用 SwapWithPreviewAction 命令开关交换部署槽?

转载 作者:行者123 更新时间:2023-12-03 03:03:51 27 4
gpt4 key购买 nike

我的应用服务是

  • 在 Azure 上运行
  • 已启用身份验证(API 管理 - ClientId 和 Secret)
  • 有一个名为 staging 的部署槽

在启用身份验证之前,我们可以运行以下 powershell 命令来交换暂存槽和生产槽:

Switch-AzureRmWebAppSlot -SourceSlotName "staging" -DestinationSlotName "production" -Name "app1" -ResourceGroupName "group1" -verbose -SwapWithPreviewAction ApplySlotConfig

通过预览交换,我们可以在将用户切换到新部署的版本之前验证已部署的代码是否适用于生产配置设置。

但是,在我们启用身份​​验证来保护我们的应用程序后,我们现在使用 SwapWithPreviewAction 收到以下错误

Switch-AzureRmWebAppSlot : Swap with Preview cannot be used when one of the slots has site authentication enabled.
At line:3 char:19
+ ... e-Command { Switch-AzureRmWebAppSlot -SourceSlotName "staging" -Desti ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Switch-AzureRmWebAppSlot], CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.WebApps.Cmdlets.DeploymentSlots.SwitchAzureWebAppSlot

有谁知道是否可以在启用身份验证的情况下运行交换?如果是这样,怎么办?

最佳答案

如果您使用身份验证授权,则无法进行两阶段交换(也称为预览交换),但您应该能够进行常规交换。

这里的主要原因是身份验证/授权功能依赖于配置正确的主机名,以便在身份验证握手后可以将请求重定向回应用程序。

这也是认证/授权粘在槽上的原因。

编辑我提供了一个屏幕截图,显示 API 为此操作生成的错误。

enter image description here

关于azure - 当 Azure 应用服务启用身份验证时,是否可以使用 SwapWithPreviewAction 命令开关交换部署槽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46304110/

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