安裝 Windows Server 2003 Service Pack 1 之後,嘗試使用 FQDN 或 CNAME 別名在本機存取伺服器時發生錯誤訊息:拒絕存取或未接受指定的網路路徑
本文提供當您嘗試使用 FQDN 或其 CNAME 別名在本機存取伺服器時所發生的錯誤解決方案。
原始 KB 編號: 926642
注意
本文包含如何降低安全性設定,或關閉電腦安全性功能的資訊。 您可以進行這些變更,為特定的問題尋求因應措施。 在進行這些變更之前,建議您先評估在特定環境中實作此因應措施的相關風險。 如果您實作此因應措施,請採取任何適當的額外步驟來協助保護您的系統。
徵兆
請參考下列案例。 您可以在以 Windows Server 2003 為基礎的計算機上安裝Microsoft Windows Server 2003 Service Pack 1 (SP1)。 執行此動作之後,當您嘗試使用其完整功能變數名稱 (FQDN) 或其 CNAME 別名在本機存取伺服器時,會在通用命名約定 (UNC) 路徑中遇到驗證問題: \\servername\sharename。
在此案例中,您會遇到下列其中一個徵兆:
- 您會收到重複的登入視窗。
- 您收到「拒絕存取」錯誤訊息。
- 您收到「沒有網路提供者接受指定的網路路徑」錯誤訊息。
- 事件標識碼 537 會記錄在安全性事件記錄檔中。
注意
您可以從安裝 Windows Server 2003 SP1 之電腦以外的其他電腦,使用 FQDN 或其 CNAME 別名來存取伺服器。 此外,您可以使用下列路徑存取本機電腦上的伺服器:
- \\IPaddress-of-local-computer
- \\Netbiosname 或 \\ComputerName
原因
發生此問題的原因是 Windows Server 2003 SP1 包含名為回送檢查功能的新安全性功能。 根據預設,Windows Server 2003 SP1 會開啟回送檢查功能,而且 DisableLoopbackCheck 登錄專案的值會設定為 0(零)。
注意
回送檢查功能會儲存在登錄子機碼中: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck
。
解決方法
重要
這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需備份和還原登錄的詳細資訊,請參閱如何在 Windows 中備份及還原登錄。
注意
此因應措施可能會讓您的電腦或網路更容易受到惡意使用者或病毒等惡意軟體的攻擊。 雖然不建議使用此因應措施,但我們仍提供這項資訊,讓您可以自行選擇是否採用這項因應措施。 採用此因應措施需自行承擔風險。
若要解決此問題,請將 DisableStrictNameChecking 登錄項目設定為 1。 然後,視情況使用下列任一方法。
方法 1 (建議):建立可在 NTLM 驗證要求中參考的本機安全性授權單位主機名
若要這樣做,請針對用戶端電腦上的所有節點遵循下列步驟:
按一下 [開始],按一下 [執行],輸入 regedit,然後按一下 [確定]。
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
以滑鼠右鍵按兩下 MSV1_0,指向[ 新增],然後按兩下 [ 多重字串值]。
在 [ 名稱] 數據行中,輸入 BackConnectionHostNames,然後按 ENTER。
以滑鼠右鍵按兩下 BackConnectionHostNames,然後按兩下 [ 修改]。
在 [ 值 數據] 方塊中,輸入 CNAME 或 DNS 別名,用於電腦上的本機共用,然後按兩下 [ 確定]。
注意
- 在個別行上輸入每個主機名。
- 如果BackConnectionHostNames登錄專案以REG_DWORD類型存在,您必須刪除BackConnectionHostNames 登錄專案。
結束 [登錄編輯程式],然後重新啟動電腦。
方法 2:停用驗證回送檢查
將子機碼中的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa registry
DisableLoopbackCheck 登錄項目設定為 1,以重新啟用 Windows Server 2003 中存在的行為。 若要將 DisableLoopbackCheck 登錄項目設定為 1,請遵循用戶端電腦上的下列步驟:
按一下 [開始],按一下 [執行],輸入 regedit,然後按一下 [確定]。
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
以滑鼠右鍵按下 Lsa,指向 [ 新增],然後按兩下 [DWORD 值]。
輸入 DisableLoopbackCheck,然後按 ENTER 鍵。
以滑鼠右鍵按兩下 [DisableLoopbackCheck],然後按兩下 [ 修改]。
在 [數值資料]方塊中輸入 1,然後按一下 [確定]。
結束 [登錄編輯程式]。
重新啟動電腦。
注意
您必須重新啟動伺服器,此變更才會生效。 根據預設,Windows Server 2003 SP1 會開啟回送檢查功能,而 DisableLoopbackCheck 登錄專案會設定為 0(零)。 當您停用驗證回送檢查時,安全性會降低,而且您開啟 Windows Server 2003 伺服器以進行 NTLM 攔截式攻擊。
狀態
Microsoft已確認這是本文開頭所列Microsoft產品中的問題。
其他相關資訊
安裝安全性更新957097之後,在提出本機 NTLM 驗證要求時,SQL Server 或 網際網路資訊服務 (IIS) 等應用程式可能會失敗。
如需如何解決此問題的詳細資訊,請參閱知識庫文章 957097的一節。