Ошибка загрузки сертификата.pfx в веб-приложение Azure с использованием шаблона ARM из VSTS
Я использую шаблон диспетчера ресурсов Azure (ARM) для создания и обновления группы ресурсов в определении выпуска в Visual Studio Team Services(VSTS). Я использую тот же шаблон для загрузки сертификата.pfx в веб-приложение.
При первом развертывании сертификат был успешно загружен, но при следующем развертывании развертывание завершается с ошибкой "Другой сертификат существует с таким же отпечатком ******** в расположении на западе США в группе ресурсов MyResourceGroup".
Я попытался воссоздать веб-приложение, но, к моему удивлению, развертывание не удалось впервые. Похоже, сертификат был загружен в группу ресурсов.
Есть ли способ перезаписать существующий сертификат.pfx для каждого развертывания.
2 ответа
Вам не нужно загружать сертификат для всех развертываний. Первый сертификат станет доступным для всех развертываний
Сертификаты предоставляются на уровне группы ресурсов, поэтому при повторном развертывании этого же сертификата произойдет ошибка.
Однако я не вижу причин, по которым вам нужно загружать сертификат. Ваше приложение должно прочитать этот сертификат? если да, то есть другой способ сделать это. Смотрите эту статью: https://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/
До сегодняшнего дня я ни разу не сталкивался с этой ошибкой. Мне удалось без проблем повторно развернуть свои приложения, сертификаты и все остальное. В моем случае я считаю, что кто-то ранее вручную добавил сертификат с другим именем, возможно, через портал, а затем, когда мой конвейер выполнил, он попытался добавить сертификат с другим именем.
Сертификаты являются дочерними ресурсами Microsoft.Web в группе ресурсов. Вероятно, есть несколько вариантов решения, но я собираюсь сосредоточиться на удалении сертификата с помощью Resource Explorer. (Готов поспорить, что для этого тоже есть команда Azure CLI или Azure PowerShell.)
В проводнике ресурсов найдите узел сертификатов, связанный с вашей группой ресурсов, с помощью левой панели навигации. Скорее всего, это будет что-то вроде подписок -> {имя подписки} -> группы ресурсов -> {имя группы ресурсов} -> поставщики -> Microsoft.Web -> сертификаты -> {имя сертификата}
После обнаружения выберите свой сертификат, а затем можете использовать вкладку Действия (POST, DELETE) на правой панели, чтобы удалить сертификат. После этого вы сможете выполнить повторное развертывание.