我有一些自签名证书,我想将它与 APIM
management
、developer
和 proxy
域一起使用,如下所示:
但我收到此错误:
<块引用>创建/更新 API 管理服务“jananath-apim”(资源组“apim-appGw-RG”):apimanagement.ServiceClient#CreateOrUpdate:发送请求失败:StatusCode=400 -- 原始 错误:Code="InvalidParameters" Message="无效参数:与 DeveloperPortal 关联的证书无效。错误消息:找不到请求的对象。\r\n。"
这是我的 terraform 代码:
apim.tf
resource "azurerm_api_management" "example" {
name = "jananath-apim"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
publisher_name = "Contoso"
publisher_email = "jbjayarathna@gmai.com"
sku_name = "Developer_1"
virtual_network_type = "Internal"
virtual_network_configuration {
subnet_id = azurerm_subnet.apimSubnet.id
}
hostname_configuration {
management {
host_name = var.managementHostname
certificate = base64encode("jananath-ssl.pfx")
certificate_password = var.managementCertPfxPassword
}
developer_portal {
host_name = var.portalHostname
certificate = base64encode("jananath-ssl.pfx")
certificate_password = var.portalCertPfxPassword
}
proxy {
host_name = var.gatewayHostname
certificate = base64encode("jananath-ssl.pfx")
certificate_password = var.gatewayCertPfxPassword
}
}
}
并且 jananath-ssl.pfx
与 apim.tf
位于同一路径
我做错了什么?有人可以帮我吗?
答案 0 :(得分:1)
base64encode
只是将字符串覆盖到 base64。它不读取实际文件。要读取您必须使用的文件:
base64encode(file("jananath-ssl.pfx"))
filebase64("jananath-ssl.pfx")