使用 Microsoft Entra 应用程序代理配置自定义域

通过 Microsoft Entra 应用程序代理发布应用程序时,可创建外部 URL 供用户使用。 此 URL 获取默认域 yourtenant.msappproxy.net。 例如,如果在名为 Contoso 的租户中发布了一个名为 Expenses 的应用,则外部 URL 为 https:\//expenses-contoso.msappproxy.net。 如果想要使用自己的域名而不是 msappproxy.net,请为应用程序配置自定义域。

自定义域的优势

如果可能,最好为应用设置自定义域。 使用自定义域的部分原因包括:

  • 应用之间的链接在公司网络外部仍然有效。 没有自定义域的话,如果你的应用具有硬编码指向应用程序代理外部目标的内部链接,且这些链接不可在外部解析,那么这些链接将失效。 当内部和外部 URL 相同时,请避免出现此问题。 如果无法使用自定义域,请参阅使用 Microsoft Entra 应用程序代理重定向已发布应用的硬编码链接,获取可解决此问题的其他方法。

  • 用户的体验将更简单,因为他们可在你的网络内部或外部使用相同的 URL 访问应用。 他们无需了解不同的内部和外部 URL,也无需跟踪其当前位置。

  • 你可控制你的品牌并创建所需的 URL。 自定义域可帮助培养用户的信心,因为用户会看到和使用熟悉的名称,而不是 msappproxy.net

  • 某些配置仅适用于自定义域。 例如,对于使用安全断言标记语言 (SAML) 的应用,你需要自定义域。 当你使用 Active Directory 联合身份验证服务 (AD FS) 但无法使用 WS 联合身份验证时,将使用 SAML。 有关详细信息,请参阅在应用程序代理中使用声明感知应用

如果无法使内部和外部 URL 匹配,则使用自定义域并不重要。 但你仍可利用其他优势。

DNS 配置选项

有几种方法来设置 DNS 配置,具体取决于你的需求:

内部和外部 URL 相同,但内部和外部行为不同

如果不希望通过应用程序代理来定向内部用户,可设置“拆分式 DNS”。 拆分式 DNS 基础结构根据主机位置对名称解析进行定向。 内部主机将定向到内部域名服务器,外部主机将定向到外部域名服务器。

Split-brain DNS

内部和外部 URL 不同

当内部和外部 URL 不同时,请勿配置脑裂行为。 用户路由是使用 URL 确定的。 在这种情况下,你只需更改外部 DNS 并将外部 URL 路由到应用程序代理终结点。

如果为外部 URL 选择了自定义域,信息栏将显示你需要添加到外部 DNS 提供程序的 CNAME 条目。 始终可转到应用的“应用程序代理”页面来查看此信息。

设置并使用自定义域

要将本地应用配置为使用自定义域,需要具有已验证的 Microsoft Entra 自定义域、自定义域的 PFX 证书和要配置的本地应用。

重要

你负责维护将自定义域重定向到 msappproxy.net 域的 DNS 记录。 如果选择稍后删除应用程序或租户,请确保同时删除应用程序代理的关联 DNS 记录,以防止滥用无关联的 DNS 记录。

创建和验证自定义域

若要创建和验证自定义域:

  1. 至少以应用程序管理员的身份登录到 Microsoft Entra 管理中心
  2. 浏览到标识>设置>域名
  3. 选择“添加自定义域”。
  4. 输入自定义域名,然后选择“添加域”。
  5. 在域页面上,复制域的 TXT 记录信息。
  6. 转到域注册机构,根据你复制的 DNS 信息为你的域新建一条 TXT 记录。
  7. 注册域后,在 Microsoft Entra ID 的域页面上选择“验证”。 在域状态变为“已验证”之后,可在所有 Microsoft Entra 配置(包括应用程序代理)中使用此域。

有关更详细的说明,请参阅使用 Microsoft Entra 管理中心添加自定义域名

将应用配置为使用自定义域

若要使用自定义域通过应用程序代理发布应用程序:

  1. 对于新应用,在 Microsoft Entra 管理中心,浏览到“标识”>“应用程序”>“企业应用程序”>“应用程序代理”。

  2. 选择“新建应用程序”。 在“本地应用程序”部分中,选择“添加本地应用程序”。

    对于“企业应用程序”中已有的应用,从列表中选中它,然后在左侧导航栏中选择“应用程序代理” 。

  3. 如果要添加自己的本地应用程序,则在应用程序代理设置页面上输入名称

  4. 在“内部 URL”字段中,为应用输入内部 URL。

  5. 在“外部 URL”字段中,向下滚动查看列表,再选择你想要使用的自定义域。

  6. 选择添加

    Select custom domain

  7. 如果域已有证书,“证书”字段会显示证书信息。 否则,选择“证书”字段。

    Click to upload a certificate

  8. 在“SSL 证书”页面上,浏览到 PFX 证书文件并将其选中。 输入证书的密码,然后选择“上传证书”。 有关证书的详细信息,请参阅自定义域的证书部分。 如果证书无效或密码有问题,将显示一条错误消息。 应用程序代理常见问题解答包含一些你可尝试执行的故障排除步骤。

    Upload Certificate

    提示

    自定义域只需上传一次证书。 之后,在你对其他应用使用自定义域时,将自动应用所上传的证书。

  9. 如果已添加证书,则在“应用程序代理”页面上选择“保存” 。

  10. 在“应用程序代理”页面的信息栏中,记下你需要添加到 DNS 区域的 CNAME 条目。

    Add CNAME DNS entry

  11. 按照使用 Microsoft Entra 管理中心管理 DNS 记录和记录集中的说明,在 Azure DNS 中添加将新的外部 URL 重定向到 msappproxy.net 域的 DNS 记录。 如果使用其他 DNS 提供程序,请联系供应商获取说明。

    重要

    确保正确使用指向 msappproxy.net 域的 CNAME 记录。 不要将记录指向 IP 地址或服务器 DNS 名称,因为这些项不是静态的,可能会影响服务的复原能力。

  12. 要检查 DNS 记录是否配置正确,请使用 nslookup 命令来确认你的外部 URL 可供访问并且 msapproxy.net 域显示为别名。

你的应用程序现已设置为使用自定义域。 请确保先将用户分配到你的应用程序,然后再测试或发布它。

要更改应用的域,请在应用的“应用程序代理”页面的“外部 URL”中,从下拉列表中选择不同的域 。 如果需要,请为更新后的域上传证书,并更新 DNS 记录。 如果未在“外部 URL”的下拉列表中看到所需的自定义域,则可能不对该域进行验证。

有关应用程序代理的更多详细说明,请参阅教程:添加本地应用程序以通过 Microsoft Entra ID 中的应用程序代理进行远程访问

自定义域的证书

证书会为自定义域创建安全 TLS 连接。

证书格式

必须使用 PFX 证书,以确保包含所有必需的中间证书。 该证书必须包含私钥。

支持最常见的证书签名方法,例如使用者可选名称 (SAN)。

只要通配符与外部 URL 匹配,就可使用通配符证书。 必须对通配符应用程序使用通配符证书。 如果还希望使用证书来访问子域,则必须在同一证书中将子域通配符添加为使用者可选名称。 例如,*.adventure-works.com 的证书将不可用于 *.apps.adventure-works.com,除非你将 *.apps.adventure-works.com 添加为使用者可选名称。

如果客户端设备上安装了证书链,则可使用你自己的公钥基础结构 (PKI) 颁发的证书。 Microsoft Intune 可将这些证书部署到托管设备。 对于非托管设备,必须手动安装这些证书。

不建议使用专用根证书颁发机构 (CA),因为还需要将专用根 CA 推送到客户端计算机,这可能会带来许多挑战。

证书管理

所有证书管理都是通过各个应用程序页面进行的。 请转到应用程序“应用程序代理”页面,访问“证书”字段 。

如果你上传一个证书,则新应用将使用它。 只要它们配置为使用它。 但是,对于在你上传证书时已存在的应用,你需要再次上传证书。

证书过期时,你将收到警告,上面通知你上传其他证书。 如果撤销了证书,用户在访问该应用时可能会看到安全警告。 若要更新应用的证书,请导航到应用的“应用程序代理”页面,选择“证书”,然后上传新证书 。 未被其他应用使用的旧证书将被自动删除。

后续步骤