【发布时间】:2008-11-26 19:00:56
【问题描述】:
每当我尝试访问经过 NTLM 身份验证的 Intranet 站点时,Safari 都会花很长时间进行处理,然后返回“服务器不可用”,或者如果站点允许,则加载而不进行身份验证。我可以在 Firefox 和 Internet Explorer 中毫无问题地访问这些相同的站点。这些网站托管在 IIS6 上,并使用 ASP、ASP.Net 1.1 或 ASP.Net 2.0 生成。
您了解 Safari 为何会在这些网站上窒息吗?是否有任何变通方法可以让 NTLM 正确地通过 Safari 进行身份验证?
更新:
在进一步使用它时,我已经确定如果我为站点使用 FQDN(即http://mysite 不起作用,但 http://mysite.domain.prv 将起作用),NTLM 将起作用(页面加载速度相当快)。不幸的是,由于项目的其他限制,这将不起作用。
有谁知道为什么 FQDN 可以使用,但较短的名称却不行?这是可以解决的问题还是“对不起”?
更新 2:
根据 Wireshark 数据包嗅探器,safari 将 SYN 发送到正确的服务器 IP 地址。 Intranet 服务器以 SYN、ACK 响应,Safari 向其发送 ACK。这是 safari 和服务器之间通信的结束。当尝试通过 FQDN 访问 Intranet 站点时,这三个数据包是相同的,但随后是 HTTP GET 请求,然后成功加载了页面。
因为 Safari 连接到正确的 IP 地址,我很难相信 Safari 不支持 NetBIOS/WINS 名称。此外,由于 NTLM 数据包从不交换,因为 safari 从不发送初始 GET 请求,我确信 NTLM 与此问题无关。
有人知道 safari 对 NetBIOS/WINS 的支持情况吗?
【问题讨论】:
-
您应该更改此问题的标题或根据您的第二次更新信息开始一个新问题。另请注意,NTLM 已弃用,正在被 SPNEGO/集成 Windows 身份验证取代。
标签: browser safari intranet netbios