Internet 浏览器无法显示联盟用户的 AD FS 登录网页

备注

Office 365 ProPlus 正在重命名为 适用于企业的 Microsoft 365 应用。 有关此更改的详细信息, 请阅读此博客文章

问题

当联合用户尝试登录 Microsoft 云服务(如 Office 365、Microsoft Azure 或 Microsoft Intune)时,Internet 浏览器无法显示 Active Directory 联合身份验证服务 (AD FS) 登录网页。 此外,用户可能收到错误消息。 例如,如果用户正在使用Internet Explorer,则用户可能会收到以下错误消息:

Internet Explorer无法显示网页。

发生此错误时,Web 浏览器中显示的地址类似于以下地址:

https://sts.domain.tld/adfs/ls/auth/integrated/?wa=wsignin1.0&wtrealm=uri:WindowsLiveID&wctx=MEST%3D0%26LoginOptions%3D2%26wa%3Dwsignin1.0%26rpsnv%3D11%26ct%3D1283354771%26rver%3D6.0.5286.0%26wp%3DMCMBI%26wreply%3Dhttps:%252F%252Fportal.office.com%252Flanding.aspx%253Ftarget%253D%25252fDefault.aspx%26lc%3D1033%26id%3D271346%26bk%3D1283354772

原因

如果用户无法与内部部署 AD FS 联合服务器或面向 Internet 的 AD FS 联合服务器代理联系,则可能会发生此问题。 当 AD FS 联合身份验证服务停止运行或 IP 连接中断时,可能会发生这种情况。

解决方案

在开始解决此问题之前,请确定内部部署联合服务器的 AD FS 终结点地址,然后确定哪个服务器遇到问题。

确定内部部署联合服务器的 AD FS 终结点地址

为此,在安装了用于安装Azure Active Directory模块的域连接Windows PowerShell以下步骤:

  1. 以提升Azure Active Directory Windows PowerShell运行 Windows PowerShell 模块。为此,请右键单击Windows Azure Active Directory 模块进行 Windows PowerShell,然后单击"以 管理员角色运行"。

  2. 键入以下命令。 键入每个命令后按 Enter:

    $cred = get-credential
    

    备注

    系统提示时,输入全局管理员凭据。

    Connect-MsolService –credential $credS  
    
    Set-MsolADFSContext -Computer <AD FS Server>
    

    备注

    占位符 <AD FS Server> 表示主 AD FS 服务器的计算机名称。

    Get-MSOLFederationProperty –DomainName <Federated Domain> | FL
    

    备注

    占位符 <Federated Domain> 表示与云服务联合的域名。

在输出中,检查 ActiveClientSignInUrlproperty。 URL 的域部分是可用于本文稍后介绍的解析中的终结点。

确定遇到问题的服务器

确定问题的范围。 为此,请确定遇到问题的服务器。 如果只有 Internet 客户端出现问题,请首先对 AD FS 联合服务器代理进行故障排除。 如果企业网络客户端也遇到问题,请首先对 AD FS 联合服务器进行故障排除。

确定哪台服务器出现问题后,在相应的 AD FS 服务器上执行以下步骤:

步骤 1:确保内部部署 AD FS 联合服务器正在运行

  1. 在 AD FS 联合服务器上,打开"控制面板",单击 "管理工具",然后单击"服务 "。
  2. 查找 AD FS Windows服务。
  3. 确保 AD FS 服务服务的状态Windows"已 启动"。 如果服务已停止,请右键单击该服务,然后单击 "启动" 以启动该服务。

步骤 2:确保 Web 服务器在相应的 AD FS 服务器上运行

  1. 在 AD FS 联合服务器或 AD FS 联合服务器代理上,打开"服务器管理器",展开"角色",展开 "Web 服务器 (IIS) ", 然后选择 "Internet Information Services"。
  2. 展开计算机名称,然后展开"网站 "。
  3. 确保"默认网站" 设置为"已 启动"。 如果不是,请右键单击"默认 网站", 指向"所有任务",然后单击"启动 "。
  4. 展开 "默认网站",然后确保 adfs 和 /adfs/ls 虚拟目录存在。

步骤 3:确保 DNS 具有适用于遇到问题的客户端的 AD FS 终结点的主机记录

对于内部客户端,内部 DNS 应该将 AD FS 终结点名称解析为内部 IP 地址 (例如,sts.contoso.com A 192.168.1.104.) 。 对于 Internet 客户端,终结点名称应解析为公用 IP 地址。 可通过以下过程在客户端上测试这一点。 如果本地网络包含代理服务器,请尝试使用 Internet Explorer 中的 Internet 选项添加 AD FS 终结点。

  1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。

  2. 在命令提示符下,键入以下命令,其中占位符 <STS.contoso.com> AD FS 终结点名称:

    NSlookup <STS.contoso.com>
    
  3. 如果该命令导致 IP 地址不正确,请通过更新内部或外部 DNS 服务器上 A 记录来解决问题。 若要确保来自本地计算机的 AD FS 资源的 DNS 请求解析为 AD FS 联合身份验证服务,而不是 AD FS 代理服务器,请参阅以下 Microsoft 知识库文章以检查和更新拆分式 DNS 设置。

    2715326 拆分式 DNS 错误配置阻止无缝 SSO 登录体验

    备注

    更新的面向 Internet 的 DNS 设置可能需要 48 小时才能传播到所有 Internet DNS 服务器。

步骤 4:尝试将 AD FS 服务器名称添加为客户端计算机上 Internet Explorer Internet 代理设置中的异常

如果本地网络包含代理,并且只有内部客户端遇到 AD FS 访问问题,请尝试将 AD FS 服务器名称添加为 Internet Explorer 中的 Internet 代理设置中的异常。 为此,请执行客户端计算机上的以下步骤:

  1. 打开Internet Explorer",然后单击" 工具"菜单上的"Internet 选项 "。
  2. 单击"连接" 选项卡,然后单击 "LAN 设置"。
  3. "自动配置"下,单击以清除复选框,然后单击以选中"代理服务器"下的"为 LAN 使用 代理服务器"复选框
  4. "代理服务器" 下,添加代理服务器地址和代理服务器使用的端口,然后单击"高级 "。
  5. "例外" 下,添加 AD FS (例如,sts.contoso.com) 。

详细信息

本文Windows PowerShell命令需要使用 Azure Active Directory 模块Windows PowerShell。

仍然需要帮助? 转到 Microsoft 社区Azure Active Directory 论坛网站。