Condividi tramite

为 Azure API 管理实例配置自定义域名

适用于:所有 API 管理层级

在 Azure 云中创建 Azure API 管理服务实例时,Azure 将为它分配一个 azure-api.cn 子域(例如 apim-service-name.azure-api.cn)。 你还可以使用自己的自定义域名(例如 contoso.com)公开 API 管理终结点。 本文演示了如何将现有的自定义 DNS 名称映射到 API 管理实例公开的终结点。

重要

API 管理仅接受主机头值与以下项匹配的请求:

  • 网关的默认域名
  • 网关的任何已配置的自定义域名

注释

目前,工作区网关不支持自定义域名。

重要

更改 API 管理服务的基础结构(例如配置自定义域、添加 CA 证书、缩放、虚拟网络配置、可用性区域更改和区域添加)可能需要 15 分钟或更长时间才能完成,具体取决于服务层和部署大小。 对于具有更大规模单位或多区域配置的实例,预期时间更长。 仔细执行对 API 管理的滚动更改,以保留容量和可用性。

当服务正在更新时,无法进行其他服务基础结构更改。 但是,可以配置 API、产品、策略和用户设置。 该服务 不会 经历网关停机,API 管理 将继续 服务 API 请求,而不会中断(开发人员层除外)。

先决条件

  • API 管理实例。 有关详细信息,请参阅创建 Azure API 管理实例

  • 由你或你的组织拥有的自定义域名。 本文不提供有关如何购买自定义域名的说明。

  • 可选的,一个包含公钥和私钥的有效证书 (.PFX)。 主题或主题备用名称 (SAN) 必须与域名匹配,从而使 API 管理实例能够通过 TLS 安全地公开 URL。

    查看域证书选项

  • 托管在 DNS 服务器上的 DNS 记录,该记录将自定义域名映射到 API 管理实例的默认域名。 本主题不提供有关如何托管 DNS 记录的说明。

    有关所需记录的详细信息,请参阅本文后面的 DNS 配置

自定义域的端点

可以向多个 API 管理终结点分配自定义域名。 当前有以下终结点可用:

端点 违约
网关 默认值为:<apim-service-name>.azure-api.cn。 网关是“消费层”中唯一可配置的终结点。

添加自定义网关域后,默认网关终结点配置仍可用。
开发人员门户(除“消耗”之外的所有层) 默认值为:<apim-service-name>.developer.azure-api.cn
管理 (仅限经典层) 默认值为:<apim-service-name>.management.azure-api.cn
自承载网关配置 API (v2) 默认值为:<apim-service-name>.configuration.azure-api.cn
SCM (仅限经典层) 默认值为:<apim-service-name>.scm.azure-api.cn

注意事项

  • 您可以更新服务层级中支持的任何终结点。 通常,客户会更新“网关”(此 URL 用于调用通过 API 管理公开的 API)和“开发人员门户”(开发人员门户 URL)。
  • 配置自定义网关域名后,默认网关终结点仍然可用,并且无法删除。 对于使用自定义域名配置的其他 API 管理终结点(如开发者门户),默认终结点不再可用。
  • 只有 API 管理实例的所有者可以在内部使用管理SCM终结点。 很少会为这些终结点分配自定义域名。
  • “高级”和“开发人员”层支持为“网关”终结点设置多个主机名。
  • 除“使用层”之外的所有层都支持像*.contoso.com这样的通配符域名。 例如,对于至 api.contoso.com 的请求,特定子域证书(例如,api.contoso.com)优先于通配符证书 (*.contoso.com)。
  • 开发人员门户配置自定义域时,可以为新域名 启用 CORS 。 这是开发人员门户访问者使能使用 API 参考页中的交互式控制台所必要的。

域证书选项

API 管理支持从 Azure 密钥保管库导入的自定义 TLS 证书或证书。 还可以启用免费的托管证书。

警告

如果需要证书固定,请使用自定义域名和自定义证书或密钥保管库证书,而不是默认证书或免费托管证书。 我们不建议对一个你不管理的证书产生硬性依赖。

如果已有第三方提供商提供的私有证书,则可以上传它到 API 管理实例。 必须满足以下要求。 (如果启用由 API 管理托管的免费证书,则该证书已经满足这些要求。)

  • 导出为 PFX 文件,使用三重 DES 加密并且还可以选择用密码进行保护。
  • 包含长度至少为 2048 位的私钥
  • 包含证书链中的所有中间证书和根证书。

配置自定义域名(门户)

根据想要使用的域证书选择步骤。

  1. Azure 门户中导航到自己的 API 管理实例。
  2. 在左侧导航栏中选择“自定义域”。
  3. 选择+添加,或选择要更新的现有终结点
  4. 在右侧窗口中,选择自定义域终结点的类型。
  5. 在“主机名”字段中,指定要使用的名称。 例如,api.contoso.com
  6. 在“证书”下,选择“自定义”
  7. 选择“证书文件”以选择并上传证书。
  8. 上传有效的 .PFX 文件并提供其密码(如果该证书受密码保护)。
  9. 配置网关终结点时,请根据需要选择或取消选择其他选项,包括“协商客户端证书”或“默认 SSL 绑定”。 使用自定义证书配置网关域
  10. 选择“添加”或为现有终结点选择“更新”。
  11. 选择“保存”

DNS 配置

将 DNS 提供程序配置为将自定义域名映射到 API 管理实例的默认域名。

CNAME 记录

配置从自定义域名(例如,api.contoso.com)指向 API 管理服务主机名(例如 yourapim-service-name.azure-api.net)的 CNAME 记录。 如果 IP 地址发生更改,CNAME 记录比 A 记录更稳定。 有关详细信息,请参阅 Azure API 管理的 IP 地址 API 管理常见问题解答

注释

某些域注册机构只允许在使用 CNAME 记录(例如 www.contoso.com),而非根名称(例如 contoso.com)时映射子域。 有关 CNAME 记录的详细信息,请参阅注册机构提供的文档或 IETF 域名 - 实现和规范