你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

添加自定义域

除了 Azure Web PubSub 实例中包含的默认域外,还可以添加自定义域。 自定义域是你拥有并管理的域名。 可以使用自定义域访问 Web PubSub 资源。 例如,可以使用 contoso.example.com 而不是 contoso.webpubsub.azure.com 来访问资源。

先决条件

  • 具有活动订阅的 Azure 帐户。 如果你没有 Azure 帐户,可以免费创建一个帐户
  • 至少为高级层的 Azure Web PubSub 资源。
  • 一个 Azure 密钥保管库资源。
  • 一个与自定义域相匹配且存储在 Azure Key Vault 中的自定义证书。

添加自定义证书

需要先添加匹配的自定义证书,才能添加自定义域。 自定义证书是 Web PubSub 实例的资源。 它引用密钥保管库中的证书。 出于安全性和合规性原因,Web PubSub 不会永久存储证书。 它会从密钥保管库中获取证书并将其保存在内存中。

使用托管标识访问密钥保管库

Azure Web PubSub 使用托管标识访问密钥保管库。 要对访问进行授权,必须授予其权限。

创建托管标识

  1. 在 Azure 门户中转到你的 Web PubSub 资源。

  2. 在左侧菜单中选择“标识”。

  3. 选择要使用的标识类型:“系统分配”或“用户分配”。 若要使用用户分配的标识,请先创建一个标识。

    若要使用系统分配的标识,请执行以下操作:

    1. 选择“启用”。

    2. 请选择“是”以确认。

    3. 选择“保存”。

    显示添加系统分配的托管标识的屏幕截图。

    若要添加用户分配的标识,请执行以下操作:

    1. 选择“添加用户分配的托管标识”。

    2. 选择现有标识。

    3. 选择 添加

    显示添加用户分配的托管标识的屏幕截图。

  4. 选择“保存”。

向托管标识授予密钥保管库访问权限

根据 Azure Key Vault 权限模型的配置方式,可能需要在 Azure 门户的不同位置授予权限。

如果使用密钥保管库内置访问策略作为密钥保管库权限模型:

选择为密钥保管库权限模型的内置访问策略的屏幕截图。

  1. 在 Azure 门户中转到你的密钥保管库。

  2. 在左侧菜单中,选择“访问配置”

  3. 选择“保管库访问策略”。

  4. 选择“转到访问策略”

  5. 选择创建

  6. 在“创建访问策略”窗格中,选择“权限”选项卡。

  7. 对于“机密权限”,选择“获取”

  8. 对于“证书权限”,请选择“获取”。

  9. 选择下一步

    密钥保管库中权限选择的屏幕截图。

  10. 搜索 Web PubSub 资源名称。

  11. 选择下一步

    密钥保管库中主体选择的屏幕截图。

  12. 选择“应用程序”选项卡,然后选择“下一步”

  13. 选择创建

创建自定义证书

  1. 在 Azure 门户中转到你的 Web PubSub 资源。

  2. 在左侧菜单中,选择“自定义域”

  3. 在“自定义证书”窗格中,选择“添加”

    显示管理自定义证书的屏幕截图。

  4. 输入自定义证书的名称。

  5. 选择“从密钥保管库中选择”,以选择密钥保管库证书。 选择密钥保管库后,会自动添加密钥保管库 基 URI密钥保管库机密名称的值。 还可以选择手动编辑这些字段。

  6. (可选)若要将证书固定到特定版本,请输入密钥保管库机密版本的值。

  7. 选择 添加

    显示添加自定义证书的屏幕截图。

Web PubSub 提取证书并验证其内容。 证书验证成功后,证书的“预配状态”为“成功”

显示已添加的自定义证书的屏幕截图。

创建自定义域 CNAME

若要验证自定义域的所有权,请为自定义域创建 CNAME 记录,并将其指向 Web PubSub 资源的默认域。

例如,如果默认域为 contoso.webpubsub.azure.com,自定义域为 contoso.example.com,请在 example.com 上创建 CNAME 记录,如以下示例:

contoso.example.com. 0 IN CNAME contoso.webpubsub.azure.com

如果使用 Azure DNS 区域,要了解如何添加 CNAME 记录,请参阅管理 DNS 记录

显示在 Azure DNS 区域中添加 CNAME 记录的屏幕截图。

如果使用其他 DNS 提供程序,请按照提供程序文档中的指南创建 CNAME 记录。

将自定义域添加到 Web PubSub

自定义域是 Web PubSub 实例的另一个子资源。 它包含自定义域所需的所有配置。

  1. 在 Azure 门户中转到你的 Web PubSub 资源。

  2. 在左侧菜单中,选择“自定义域”

  3. 在“自定义域”窗格中,选择“添加”

    显示自定义域管理的屏幕截图。

  4. 输入自定义域的名称。 使用子资源名称。

  5. 输入域名。 使用自定义域的完整域名,例如 contoso.com

  6. 选择适用于此自定义域的自定义证书。

  7. 选择 添加

    显示添加自定义域的屏幕截图。

验证自定义域

现在可以使用自定义域访问 Web PubSub 终结点。

若要验证域,可以访问运行状况 API。 以下示例使用 cURL。

PS C:\> curl.exe -v https://contoso.example.com/api/health
...
> GET /api/health HTTP/1.1
> Host: contoso.example.com

< HTTP/1.1 200 OK
...
PS C:\>

运行状况 API 应返回 200 状态代码,而不会出现任何证书错误。

配置专用网络密钥保管库

如果将专用终结点配置为密钥保管库,则 Web PubSub 无法使用公用网络访问密钥保管库。 必须设置共享专用终结点,以便 Web PubSub 通过专用网络访问密钥保管库。

创建共享专用终结点后,可以照常创建自定义证书。 无需更改密钥保管库 URI 中的域。 例如,如果密钥保管库基本 URI 为 https://contoso.vault.azure.net,请继续使用此 URI 来配置自定义证书。

无需在密钥保管库防火墙设置中显式允许 Web PubSub IP 地址。 有关详细信息,请参阅密钥保管库专用链接诊断

轮换证书

如果在创建自定义证书时未指定机密版本,Web PubSub 会定期检查密钥保管库中的最新版本。 检测到新版本时,将会自动应用该版本。 延迟通常小于一小时。

或者,可以将自定义证书固定到密钥保管库中的特定机密版本。 需要应用新证书时,可以编辑机密版本,然后主动更新自定义证书。