Я пытаюсь включить HTTPS в настраиваемом домене для Azure CDN, но и az
PowerShell, и API не работают, когда я пытаюсь сделать это программно.
{
"error": {
"code": "BadRequest",
"message": "That action isn’t allowed in this profile."
}
}
Сначала я попробовал через PowerShell. Обратите внимание: это приводит к довольно бесполезной ошибке, если вы не используете переключатель -Debug
-
Enable-AzCdnCustomDomainHttps -ResourceGroupName $resourceGroupName -ProfileName $profileName -EndpointName $endpointName -CustomDomainName $customDomainName -Debug
Заметив, что установленная мной версия az
PowerShell использует версию API 2019-04 -15 , я начал исследовать, была ли доступна более новая версия API, и есть - 2019-12-21 . Используя этот последний API, я запустил HTTP-запрос за пределами PowerShell, но это привело к точно такой же ошибке.
curl --location --request POST 'https://management.azure.com/subscriptions/{{SubscriptionId}}/resourceGroups/{{ResourceGroup}}/providers/Microsoft.Cdn/profiles/{{CdnProfile}}/endpoints/{{CdnEndpoint}}/customDomains/{{CdnCustomDomain}}/enableCustomHttps?api-version=2019-12-31' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{BearerToken}}' \
--data-raw '{
"certificateSource": "Cdn",
"certificateSourceParameters": {
"certificateType": "Shared",
"@odata.type": "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters"
},
"protocolType": "IPBased"
}'
Копая дальше, похоже, что Microsoft признала проблему в августе прошлого года, но затем быстро закрыл проблему , фактически не исправляя ее или не предлагая обходного пути.
Кто-нибудь смог найти обходной путь для этого? Кажется непостижимым, что Microsoft просто не потрудится исправить это, и нельзя полагаться на ручное вмешательство каждый раз, когда мы создаем новый CDN.