Я пытаюсь автоматизировать процесс получения сертификата SSL на моем лазурном портале. Для этого я написал функцию Azure, которая загружает новый сертификат, а затем загружает / связывает его с моим веб-приложением. Код выглядит так:
app.Update()
.DefineSslBinding()
.ForHostname("*.my.domain")
.WithPfxCertificateToUpload(Path.Combine(executionContext.FunctionDirectory, "cert.pfx"), "pwd")
.WithSniBasedSsl()
.Attach()
.Apply();
который должен загрузить новый сертификат и создать новую привязку. Он работает должным образом в веб-приложении без существующих сертификатов / привязок, но если я снова запустил функцию, у меня возникнут проблемы:
- Новый сертификат не отображается на лазурном портале
- Обвязка остается прежней
- Если я вручную удалю привязку и снова запущу свой код, он создаст такую же привязку с самым первым сертификатом, который у меня был, т.е. снова станет таким же
- Забавно: я не получаю отказов
После некоторого исследования я выяснил, что если я перечисляю свои сертификаты в Azure cli с az webapp config ssl list
, список на портале обновляется, то есть все сертификаты присутствуют. Но это мало помогает.
Мой общий вопрос: есть ли другой способ перепривязать сертификат?
Или, как очевидный обходной путь, было бы удалить существующую привязку и сертификат заранее: как я могу удалить сертификат SSL в функции Azure с помощью .NET SDK?