除非指定了端口443,否则SSL上的“净使用”将失败

时间:2013-01-24 21:23:59

标签: windows networking ssl dns webdav

我们正尝试通过SSL使用 net use 连接到WebDAV服务器。在某些服务器上,如果我们在U​​RL中指定端口443,我们会看到此连接仅成功的问题。

地图

net use * "https://example.com:443/folder"
net use * "\\example.com@SSL@443\folder"

,奇怪的是,这样做: net use * "\\example.com@SSLasdf\folder"

不会映射

net use * "https://example.com/folder"
net use * "\\example.com@SSL\folder"

在非工作的情况下,我们始终收到以下错误:

System error 67 has occured.
The network name cannot be found.

我们注意到一些可能有用的信息:

  • 我们有一个测试服务器,其配置方式与prod服务器相同,并且按预期工作。
  • 在非工作情况下,prod服务器上没有看到来自故障主机的传入请求。
  • 所有客户都基于相同的图片。
  • 问题不会在所有客户端上统一出现 - 有些是工作,有些则没有。
  • 在客户端DNS缓存中有example.com的现有有效条目。
  • 刷新受影响服务器的客户端DNS缓存无法解决问题。
  • 一旦问题出现,它似乎坚持下去。也就是说,如果我执行其中一个工作映射,删除它,然后立即执行其中一个非工作映射,问题仍然存在。

我们完全被难倒了。任何理论?

2 个答案:

答案 0 :(得分:1)

我们最终确定我们错误地解释了System Error 67正在返回的net use。我们发现了两件有趣的事情:

  1. 如果WebDAV在初始根文件夹PROPFIND上返回404或50x,net use将(正确地)将其解释为根文件夹不可用。它无法找到网络名称的事实让我们相信问题在于名称解析,但它实际上只是在说,'嘿,我找不到任何东西路径'。

  2. 如果'net use'由于404 / 50x而失败,则在短时间内,它会自动失败同一主机的任何其他映射而不发出请求 。例如,如果net use http://me.com/foo返回404,那么net use http://me.com/bar如果快速连续第一次调用就会立即失败,并且WebDAV服务器日志中不会显示任何请求记录。

    < / LI>

    我最好的猜测是,附加@443端口并没有产生任何真正的影响。 做的事情就是欺骗net use认为它正在与另一个主机交谈,至少是为了它的“自动失败”功能。但这只是猜测。

答案 1 :(得分:1)

您正在看到不同的行为,因为您使用不同的名称进行连接。一旦尝试了名称并且失败,WebClient(这是启用WebDAV的服务)将缓存一段时间的响应。要清除缓存,请在“服务”控制台中找到WebClient服务并重新启动它。或者从管理命令提示符执行以下命令:

net.exe stop webclient && net.exe start webclient