症状
配置 Microsoft Dynamics CRM 2013年互联网面临部署 (IFD),Windows Server 2012 R2,使用活动目录联合身份验证服务 Web 应用程序代理后用户可能在实际应用 CRM 的访问外部 IFD URL 时收到 HTTP 404 错误信息。
用户还可以观察之间的 CRM IFD URL 和 IFD 配置期间使用 ADFS URL 重定向循环。 在事件查看器应用程序日志的 Active Directory 联合身份验证服务的 web 服务器上,可能还会记录以下错误︰Microsoft.IdentityServer.Web.InvalidRequestException: MSIS7042︰ 相同的客户端浏览器会话已 'X' 最后 'Y' 秒中的请求。联系您的管理员联系获取详细信息。
在 Microsoft.IdentityServer.Web.Protocols.PassiveProtocolHandler.UpdateLoopDetectionCookie (WrappedHttpListenerContext 上下文)
在 Microsoft.IdentityServer.Web.Protocols.WSFederation.WSFederationProtocolHandler.SendSignInResponse (WSFederationContext 上下文,MSISSignInResponse 响应)
在 Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest (ProtocolContext protocolContext,PassiveProtocolHandler protocolHandler)
在 Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext (WrappedHttpListenerContext 上下文)
原因
活动目录联合身份验证服务 Web 应用程序代理服务器转换 URL 的 HTTP 响应标头
解决方案
1.以管理员身份登录 Windows Server 2012 R2 服务器承载的 WAP 角色
2.获得 CRM 的 WAP 应用程序的 Id。在 Windows PowerShell 窗口中,键入以下命令︰ 获得 WebApplicationProxyApplication |设置表格格式的 ID、 名称、 ExternalURL 3.请注意下列 CRM 终结点的 CRM 面向 Internet 的部署配置中指定的 Id Web 应用程序服务器域 发现 Web 服务域 外部域 URL 4.通过 PowerShell,使用在前面的步骤中获得的 Id 来禁用响应标头中的 URL 转换运行下面的命令 一组 WebApplicationProxyApplication ID < WebApplicationServerDomainID >-DisableTranslateUrlInResponseHeaders 一组 WebApplicationProxyApplication ID < DiscoveryWebServiceDomainID >-DisableTranslateUrlInResponseHeaders 一组 WebApplicationProxyApplication ID < ExternalDomainURLID >-DisableTranslateUrlInResponseHeaders 5.重新启动 ADFS ADFS 服务器和 Web 应用程序代理服务器上的服务