首页 > 解决方案 > 使用 ARM 将 pfx 证书部署到 Azure 时出现问题,InternalServerError

问题描述

因此,我正在尝试使用 ARM 模板(当前使用二头肌)将证书部署到 Azure。我从 Sectigo 收到了我的 .cer 文件,使用 openssl 生成 pfx 文件似乎工作正常,因为可以使用我的 FunctionApp 上的 Azure 门户添加生成的 pfx。但是当我尝试使用 ARM 模板部署它时,我收到了这个错误:

{
  "code":"DeploymentFailed",
  "message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
  "details": [
    {
      "code":"InternalServerError",
      "message":"There was an unexpected InternalServerError. Please try again later. x-ms-correlation-request-id: f25b9b70-e931-4e19-b010-cc1907cdcbcc"
    }
  ]
}

部署如下所示:

{
  "type": "Microsoft.Web/certificates",
  "apiVersion": "2016-03-01",
  "name": "xxx20220609",
  "location": "[resourceGroup().location]",
  "properties": {
    "pfxBlob": "[parameters('certificatePfx')]",
    "password": "[parameters('certificatePassword')]"
  }
}

certificatePassword是作为参数提供的,与我手动导入时相同。发现只是从 pfx 文件中certificatePfx读取字节并对其进行 base64 编码,这是我使用 C# 完成的:

Convert.ToBase64String(File.ReadAllBytes(@"[pfx-file-path]"))

关于 InternalServerError 可能是什么的任何想法?

标签: azurearm-template

解决方案


请检查以下几点,因为我在测试应用程序中犯了以下错误:

• 在我的环境中,我发现证书绑定到主机名必须通过两个模板而不是一个模板来完成,因为我们不能在 ARM 模板中对同一类型进行两个操作。

• 由于域名包含大写字母,甚至我也收到了后续验证错误。一旦我改变了它,我就可以通过 ARM 模板成功地发布一个带有托管证书的应用服务。


推荐阅读