由于集成的开发者门户中存在虚拟主机错误,自定义网域配置失败

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

问题

用户在为集成式开发者门户配置密钥库、别名和网域信息时,会收到虚拟主机值无效错误:发布 > 门户 > 开发者门户 > 设置 > 网域

出错提示

系统会显示以下错误消息:

Invalid virtual host value (id: <value>)

错误消息会显示在 Edge 界面中,如下所示:

门户 > 开发者门户 > 设置 > 域名" title="域名">

可能的原因

原因 说明 适用的问题排查说明
提供的 TLS 证书链不是 PEM 格式 虚拟主机中使用的 TLS 证书链必须采用 PEM 格式。如果使用非 PEM 格式的 TLS 证书链,自定义网域配置将失败。 Edge Public Cloud 用户
TLS 证书和密钥在单个文件中提供 上传到密钥库时,TLS 证书链和私钥需要分别在单独的文件中提供。否则,自定义网域配置将失败。 Edge Public Cloud 用户

原因:提供的 TLS 证书链不是 PEM 格式

诊断

  1. 验证 TLS 证书链是否采用 PEM 格式
  2. 如果特定 TLS 证书链不是 PEM 格式,则会导致集成式开发者门户中的虚拟主机创建过程失败。因此,Edge 界面的自定义网域配置页面上会向用户显示上述错误消息。

分辨率

如果您已确定 TLS 证书链不是 PEM 格式,请执行以下步骤来解决此问题:

  1. 将 TLS 证书链转换为 PEM 格式
  2. 验证 TLS 证书链是否有效。
  3. 从特定密钥库中移除现有的 TLS 证书链和私钥。
  4. 使用 Edge 界面或 Management API 中的密钥别名,将包含 PEM 格式的 TLS 证书链的文件和包含私钥的文件上传到密钥库。
  5. 在集成式开发者门户中配置密钥库、别名和域名:发布 > 门户 > 开发者门户 > 设置 > 域名
  6. 点击保存

原因:TLS 证书和密钥是在单个文件中提供的

诊断

  1. 验证给定的 TLS 证书链是否包含上传到密钥库的同一文件中的证书和私钥。
  2. 在您用于将 TLS 证书链和私钥上传到 Apigee 密钥库的系统上,使用文本编辑器查看原始源文件。
  3. 如果该文件同时包含 TLS 证书和私钥,则证书链中的每个 TLS 证书都以以下行开头:

    -----BEGIN CERTIFICATE-----

    并以以下行结束:

    -----END CERTIFICATE-----

    TLS 证书后跟以以下行开头的私钥:

    -----BEGIN RSA PRIVATE KEY-----

    并以以下行结束:

    -----END RSA PRIVATE KEY-----

    如下例所示:

    -----BEGIN CERTIFICATE-----
    CzAJBgNVBAYTAkJCMQswCQYDVQQIDAJCQjELMAkGA1UEBwwCQkIxDzANBgNVBAoM
    BkJCIEx0ZDELMAkGA1UECwwCQkIxEDAOBgNVBAMMB2Zvby5vcmcxGjAYBgkqhkiG
    9w0BCQEWC2FiY0Bmb28ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
    AQEA8IN15+8HrfeSVf4NIj7mM4jjms89EUX4HKrey+lm1+ljv3OGw+NK7BCHvoV3
    vZ+KXMHTtFeeFd1NgQZnDdbmuD0jTvvF7YoC/h6bLPytJquQJZykm9DyszsmACI8
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDbjCCAlYCCQCrcuwFhXCcujANBgkqhkiG9w0BAQsFADB5MQswCQYDVQQGEwJB
    QTELMAkGA1UECAwCQUExCzAJBgNVBAcMAkFBMQ8wDQYDVQQKDAZBQSBMdGQxCzA
    BgNVBAsMAkFBMRMwEQYDVQQDDApjYS5mb28ub3JnMR0wGwYJKoZIhvcNAQkBFg5h
    YmNAY2EuZm9vLm9yZzAeFw0xOTEwMDQwNTA0MzVaFw0yOTEwMDEwNTA0MzVaMHk
    CzAJBgNVBAYTAkFBMQswCQYDVQQIDAJBQTELMAkGA1UEBwwCQUExDzANBgNVBAo
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    YcJpTL5yNyQE3NIXPGCiTrrSEBSX5X9ae8C/URlyWPbJ3jBE7GH4u6id5qEcgx6I
    /6QHDyPIhFcwfdU3nZbzZfwCYfH9SI5hQPscfGTotNxZxDwNIzuqqrIhari4e6lc
    mlEa/CDzOzvdYTX7RT1MmBY9US8JY5xhUKk0gQbhCfB7TcpvySldTbiUGQVn8h62
    /fJDhNQlzV7Maogc7te9DWW/HhYfGTFKOwIDAQABMA0GCSqGSIb3DQEBCwUAA4IB
    AQAT/5FCiKJ/Pv62bl+GYuuc0gXXeumW2205dN5cXBAVZ3kRqHjR9tMCx3u+F2Td
    ...
    -----END CERTIFICATE-----
    -----BEGIN RSA PRIVATE KEY-----
    MIIEowIBAAKCAQEA8IN15+8HrfeSVf4NIj7mM4jjms89EUX4HKrey+lm1+ljv3OG
    w+NK7BCHvoV3vZ+KXMHTtFeeFd1NgQZnDdbmuD0jTvvF7YoC/h6bLPytJquQJZyk
    m9DyszsmACI8hK4azrd7zZqTETVZN+mxOiYBfa1E1pE8v/bdIqnLTICmFbIQ2PVF
    zc0anobltRRI4/OcRb7QPQUk+dBxU7XyyAhcACROwaeT8yqksnYNANBcnMiS5qH+
    sucJFNJ9bGIuWIwhsYVxzrANe9ttVvie38Cj6Go+UiIzF3VAyRkIE7MvW9Qc5m0O
    ...
    -----END RSA PRIVATE KEY-----
  4. 如果您确定 TLS 证书链和私钥已全部合并到一个文件中并上传到密钥库,那么这就是集成式开发者门户中虚拟主机创建失败的原因。因此,Edge 界面上的自定义网域配置页面会向用户显示上述错误消息。

分辨率

如果 TLS 证书 PEM 文件同时包含 TLS 证书和私钥,请执行以下步骤来解决此问题:

  1. 将私钥从 TLS 证书 PEM 文件移至单独的密钥文件。
  2. 从特定密钥库中移除现有 TLS 证书。
  3. 验证 TLS 证书链是否采用 PEM 格式
  4. 如果不是,请 将 TLS 证书链转换为 PEM 格式
  5. 验证 TLS 证书链是否有效。
  6. 使用 Edge 界面或 Management API 中的密钥别名,将包含转换为 PEM 格式的 TLS 证书链的文件和包含私钥的文件上传到密钥库。
  7. 在集成式开发者门户中配置密钥库、别名和域名:发布 > 门户 > 开发者门户 > 设置 > 域名
  8. 点击保存

如果问题仍然存在,请转到必须收集诊断信息

必须收集的诊断信息

如果按照上述说明操作后问题仍然存在,请收集以下诊断信息并将其提供给 Apigee Edge 支持团队

  • Apigee Edge Cloud 组织名称
  • Apigee Edge Cloud 集成式开发者门户名称
  • 在门户环境中创建的密钥库的名称
  • 别名
  • 自定义域名
  • 自定义网域配置页面的屏幕截图,其中显示了错误消息
  •