當您在安裝 Windows Server 2003 Service Pack 1 之後,嘗試使用其 FQDN 或 CNAME 別名在本機存取伺服器時發生錯誤訊息:拒絕存取或沒有網路提供者接受指定的網路路徑

本文提供當您嘗試使用其 FQDN 或其 CNAME 別名在本機存取伺服器時所發生錯誤的解決方案。

適用於:Windows 7 Service Pack 1,Windows Server 2012 R2
原始 KB 編號: 926642

注意事項

本文包含的信息說明如何協助降低安全性設定,或如何關閉計算機上的安全性功能。 您可以進行這些變更來解決特定問題。 進行這些變更之前,建議您評估與在特定環境中實作此因應措施相關聯的風險。 如果您實作此因應措施,請採取任何適當的額外步驟來協助保護您的系統。

徵狀

請考慮下列情節: 您會在 Windows Server 2003 型電腦上安裝 Microsoft Windows Server 2003 Service Pack 1 (SP1) 。 這樣做之後,當您嘗試在本機存取伺服器時,會遇到驗證問題,方法是使用其完整域名 (FQDN) 或其在通用命名約定中的 CNAME 別名, (UNC) 路徑: \\servername\sharename

在此案例中,您會遇到下列其中一個徵兆:

  • 您會收到重複的登入視窗。
  • 您會收到「拒絕存取」錯誤訊息。
  • 您會收到「沒有網路提供者接受指定的網路路徑」錯誤訊息。
  • 事件標識碼 537 會記錄在安全性事件記錄檔中。

注意事項

您可以使用其 FQDN 或其 CNAME 別名,從您安裝 Windows Server 2003 SP1 之電腦以外的網路中的另一部電腦存取伺服器。 此外,您可以使用下列路徑來存取本機電腦上的伺服器:

  • \\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. 依序按一下 [開始] 和 [執行],輸入 regedit,然後按一下 [確定]

  2. 找出並按一下下列登錄子機碼:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

  3. 以滑鼠右鍵按兩下 [MSV1_0],指向 [ 新增],然後按兩下 [ 多字串值]

  4. 在 [ 名稱] 數據 行中,輸入 BackConnectionHostNames,然後按 ENTER。

  5. 以滑鼠右鍵按兩下 [BackConnectionHostNames],然後按兩下 [ 修改]

  6. 在 [ 值數據] 方塊中,輸入用於計算機本機共用的 CNAME 或 DNS 別名,然後按兩下 [ 確定]

    注意事項

    • 在個別行上輸入每個主機名。
    • 如果BackConnectionHostNames登錄專案以REG_DWORD類型存在,您必須刪除BackConnectionHostNames 登錄專案。
  7. 結束 [登錄編輯程式],然後重新啟動電腦。

方法 2:停用驗證回送檢查

將子機碼中的 DisableLoopbackCheck 登錄項目設定為 1,以重新啟用存在於 Windows Server 2003 中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa registry 的行為。 若要將 DisableLoopbackCheck 登錄項目設定為 1,請在用戶端電腦上遵循下列步驟:

  1. 依序按一下 [開始] 和 [執行],輸入 regedit,然後按一下 [確定]

  2. 找出並按一下下列登錄子機碼:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. 以滑鼠右鍵按兩下 [Lsa],指向 [ 新增],然後按兩下 [ DWORD 值]。

  4. 輸入 DisableLoopbackCheck,然後按 ENTER。

  5. 以滑鼠右鍵按兩下 [DisableLoopbackCheck],然後按兩下 [ 修改]

  6. [數值] 資料方塊中輸入 1,然後按一下 [確定]

  7. 結束 [登錄編輯程式]。

  8. 重新啟動電腦。

注意事項

您必須重新啟動伺服器,這項變更才會生效。 根據預設,Windows Server 2003 SP1 中會開啟回送檢查功能,而且 DisableLoopbackCheck 登錄項目設定為 0 (零) 。 當您停用驗證回送檢查,並開啟 Windows Server 2003 伺服器以進行攔截式 (MITM 攻擊時,安全性會降低) NTLM 攻擊。

狀態

Microsoft 已確認這是本文開頭所列 Microsoft 產品中的問題。

其他相關資訊

安裝安全性更新957097之後,SQL Server 或 Internet Information Services (IIS) 等應用程式在提出本機 NTLM 驗證要求時可能會失敗。

For more information about how to resolve this issue, see the "Known issues with this security update" section of KB article 957097.