终于用户又出现新的原因导致无法通过ADFS认证导致无法登录CRM。
问题排查总结:
- 国内用户可以登录,德国用户可以登录,只有日本用户无法登录。
- 服务器查看错误信息为 System.ArgumentOutOfRangeException: 不是有效的 Win32 FileTime。
到这里,我觉得问题应该是域控出问题,两个域的信任可能中断了。不是有效的 Win32 FileTime,这个报错一般就是域控出了问题。
但后续发现,测试环境日本用户居然可以登录,这说明域信任好好的。
那么接下来问题的排查方向就是从比较两台ADFS服务器的差异下手了。一台正式,一台测试,除了网段不一样,没啥区别了。
经过大量的抓包数据分析,问题得到了解决。
解决方案:
- 尝试比较了两台ADFS server对于同一台DNS server的解析请求及解析结果
- 两台ADFS server在发出相同DNS 解析请求后,一台ADFS server(测试)收到成功的DNS解析结果,另一台ADFS server(正式)则收到失败的DNS 解析结果。
- 排查发现环境内部部署的交换机相关设置导致其中一台ADFS server的DNS解析请求发送至公网解析,因此导致解析失败的结果。
- 找负责网络的同事搞定问题。
- 登录到请求失败的ADFS服务器,设置IPv4的DNS配置,设置正确DNS解析服务器地址。