为什么 WinInet 在通过 FQDN 连接时无法通过协商自动进行身份验证,但如果通过 IP 连接则成功?

Why would WinInet fail to authenticate automatically via Negotiate when connecting by FQDN, but succeed if connecting by IP?

本文关键字:连接 身份验证 如果 IP 成功 FQDN WinInet 为什么 协商      更新时间:2023-10-16

有一个奇怪的问题,如果我按名称连接到内部服务,WinInet 无法使用用户当前凭据进行身份验证,但如果通过 IP 连接,则不会。

在我们的一个环境中,它位于它自己的域 DOM1 中,我们的客户端可以使用服务器的名称连接到我们的 WCF 服务,即 http://machine_name:port/service。

在另一个环境中,在域 DOM2 中,客户端可以使用 http://sss.xxx.yyy.zzz:port/service 自动进行身份验证,但如果我们将客户端配置为使用计算机名称进行连接,它会连接,但无法使用集成安全性进行身份验证。我们最终不得不依靠我们想要避免的基本。

也就是说,我们可以切换到使用 IP 号码进行连接,但这对我来说没有任何意义。

似乎您的 DNS 没有将您的服务器 url 解析为与 NetBIOS 名称相同的 IP。

也许你有一个外部IP?调查您的网络流量并跟踪步骤。 此外,研究NetBIOS可能有助于了解问题以及从何处开始查找问题:

https://www.techrepublic.com/article/how-netbios-name-resolution-really-works/