我正在尝试使用 Bicep 设置 APIM,包括自定义域。
二头肌:
resource apiManagement 'Microsoft.ApiManagement/service@2023-05-01-preview' = {
...
properties: {
publisherEmail: '...'
publisherName: '...'
hostnameConfigurations: [
{
type: 'Proxy'
hostName: 'api.my-domain.com'
negotiateClientCertificate: false
defaultSslBinding: true
certificateSource: 'Managed'
}
]
}
}
但这给出了这个错误:
使用新托管证书请求配置的主机名配置 激活 APIM 服务 [名称] 时不支持。
这只发生在同时创建 apim 实例和自定义域时。如果 apim 实例已创建,则第二次运行时可以正常工作。
您遇到的问题是由于在使用自定义域创建新实例并同时请求托管证书时 API 管理服务中的限制造成的。在单个部署中使用自定义域设置 Azure API 管理 (APIM) 时,初始创建时可能不支持自定义域的托管证书请求。
这里有一个解决方法(正如您所做的那样),您可以使用它来实现此目的:
没有托管证书的初始部署:首先,创建
没有自定义域和托管证书的 APIM 实例。
使用自定义域更新部署:APIM 实例完成后
创建后,更新部署以包含带有
的自定义域
托管证书。
此两步过程可确保在尝试使用托管证书配置自定义域之前完全配置 APIM 实例。 下面的微软官方文档指出,作为自定义域成瘾的额外条件,首先是创建 APIM。
https://learn.microsoft.com/en-us/azure/api-management/configure-custom-domain?tabs=custom