页面上的链接对应用程序代理应用程序不起作用

本文有助于排查 Microsoft Entra 应用程序代理应用程序上的链接无法正常工作的原因。

概述

发布应用程序代理应用后,应用程序中默认可以工作的链接仅是指向已发布根 URL 内包含的目标的链接。 应用程序内的链接不起作用。 应用程序的内部 URL 可能不包括应用程序内链接的所有目标。

为何发生这种情况? 当用户选择应用程序中的某个链接后,应用程序代理会尝试将此 URL 解析为同一应用程序中的内部 URL 或外部可用的 URL。 如果链接指向不在同一应用程序中的内部 URL,则它不属于这些存储桶中的任意一个,并且导致“未找到”错误。

可通过三种方法来解决此问题。 按复杂性递增的顺序列出了选项。

  1. 请确保内部 URL 是包含应用程序所有相关链接的根 URL。 使用根,所有链接都可以解析为同一应用程序内发布的内容。

    如果更改了内部 URL,但不想更改用户的登陆页面,则将主页 URL 更改为以前发布的内部 URL。 导航到“Microsoft Entra ID”>“应用注册”,然后选择应用程序品牌。 在品牌部分中,将“主页 URL”字段设置为所需的登陆页面。

    重要

    若要进行上述更改,需要有权修改 Microsoft Entra ID 中的应用程序对象。 需要为用户分配应用程序管理员角色,从而向用户授予在 Microsoft Entra ID 中修改应用程序的权限。

  2. 如果应用程序使用完全限定的域名 (FQDN),则使用自定义域发布应用程序。 此功能允许相同 URL 同时在内部和外部使用。

    此选项确保可通过应用程序代理从外部访问应用程序内的链接,因为应用程序内指向内部 URL 的链接也可从外部识别。 所有链接仍需要属于已发布的应用程序。 但使用此选项,链接不需要属于同一应用程序,而是可以属于多个应用程序。

  3. 如果这些选项都不可行,则有多个选项可用于启用内联链接转换。 这些选项包括使用 Intune Managed Browser、“我的应用”扩展,或者使用你的应用程序上的链接转换设置。 要详细了解这些选项中的每一个以及如何启用它们,请参阅重定向使用 Microsoft Entra 应用程序代理发布的应用的硬编码链接

后续步骤

使用现有的本地代理服务器