2017-09-19 48 views
0

我的應用程序服務是當Azure應用服務啓用身份驗證時,可以使用SwapWithPreviewAction命令開關交換部署插槽嗎?

  • 在Azure上運行
  • 已認證功能(API管理 - 客戶端Id和密碼)
  • 具有分期

之前,我們啓用了身份驗證稱爲部署插槽我們可以運行以下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 

有誰知道是否有可能啓用的運行與認證互換?如果是這樣,怎麼樣?

回答

0

如果您使用的是身份驗證授權,則無法進行2階段交換(也稱爲預覽交換),但是您應該可以進行定期交換。

此處的主要原因是身份驗證/授權功能依賴於配置了正確的主機名,以便在身份驗證握手之後可以將請求重定向迴應用程序。

這也是認證/授權對插槽粘性的原因。

編輯 我已經添加了一個屏幕截圖,顯示API爲此操作生成的錯誤。

enter image description here

+0

這似乎很瘋狂。因此,如果您不使用身份驗證,則使用預覽進行交換很好,但如果您不使用身份驗證,則無法進行預覽你有沒有與此陳述的任何消息來源/鏈接? – Mack10

+0

API本身提供了指導,我已經更新了答案,包括截圖 –

相關問題