Iis-7.5

如何讓自定義 WebDAV 伺服器與 MS 迷你重定向器一起使用

  • January 15, 2014

我編寫了一個自定義 WebDAV 伺服器,它從數據庫中驗證使用者並根據數據庫中的記錄為虛擬文件系統提供服務。它適用於 3rd 方 WebDAV 客戶端,但在將驅動器映射到 http 位置時不適用於 Windows 內置迷你重定向器。

最奇怪的是,在我編寫伺服器的開發 PC 上,我可以正常連接,但是任何其他嘗試訪問伺服器的電腦都無法與迷你重定向器連接。

我用 Fiddler 分析了網路流量,一切看起來都很好。當我嘗試映射驅動器時,會發送一個 OPTIONS 標頭,並且我的伺服器以 200 OK 響應。然後迷你重定向器發送深度為 0 的 PROPFIND 方法。我的伺服器以未經授權的 401 響應。這將為使用者和密碼打開一個登錄對話框。輸入密碼後,會發送一個新的 PROPFIND 請求,但這次帶有授權標頭。一切似乎都正常,我的伺服器接受登錄憑據並以 207 多狀態響應和“HREF”響應到根目錄。此時,mini-redirector 再次彈出登錄提示,總共執行了 3 次,然後連接失敗並出現無法找到伺服器的錯誤。奇怪的是,伺服器是不是找到了,我在 Fiddler 中可以看到,

每個其他第 3 方 WebDAV 客戶端都與我的伺服器進行了類似的交換,並且可以很好地連接並顯示目錄列表。只有迷你重定向器失敗。正如我上面提到的,它在我的帶有微型重定向器的開發機器上完美執行(儘管我連接的 IIS 7.5 伺服器不在我的開發機器上)。其他所有電腦都無法連接。我已確保使用系統資料庫黑客來允許通過非安全 HTTP 站點進行基本身份驗證。我什至將我的伺服器移動到一個帶有 SSL 證書的安全 HTTPS 站點,以防萬一出現問題,但它仍然無法正常工作。有沒有人有任何想法。我認為這與我在伺服器上的 IIS 7.5 設置有關,或者與我的開發機器以外的所有其他客戶端機器上的設置有關,因為我的程式碼看起來很好,

任何幫助將不勝感激。令人沮喪的是,我預計迷你重定向器是最難工作的,所以我先讓它在我的開發機器上工作,然後再用所有其他客戶端測試它,所以我認為我狀態良好,直到我嘗試連接其他電腦,看到它失敗了,但只有迷你重定向器。遺憾的是,迷你重定向器對我的潛在客戶來說是最容易使用的,因此它必須與迷你重定向器一起使用。我可以提供 Fiddler 的響應/請求,如果這可以幫助任何人與我一起調試它。

Microsoft WebDav Redirector 有一個已知的錯誤,它不能讓您使用預設的 XML 命名空間。添加命名空間前綴並用它標記我的所有 xml 元素後,我的問題就消失了。

http://lists.w3.org/Archives/Public/public-html/2011Jan/0263.html

引用自:https://serverfault.com/questions/567063