使用完全限定的 url 對本機伺服器上的 IIS 進行 Windows 驗證

使用完全限定的 url 對本機伺服器上的 IIS 進行 Windows 驗證

我在 IIS 7 中設定了一個 Web 應用程序,並配置了 Windows 驗證。我可以透過任何其他機器的完全限定的 url 對機器進行身份驗證,並且它使用正確的網域。但是,當我嘗試透過完全限定的網域(在另一個服務中,或僅透過 IE 中的 url)從自身連接到電腦時,Windows 登入提示會嘗試強制使用電腦作為網域,而不是用於登入的正確網域。domain\username[email protected]

localhost我應該注意,透過在機器上查看 Web 應用程式可以,但使用完整site.company.com/webservice樣式的 url 在本機上不起作用,因為登入網域是錯誤的。我該怎麼做才能讓它使用正確的登入網域?

答案1

我也在嘗試做同樣的事情。使用 FQDN 造訪本地 IIS 上的網站,並不斷被 IIS 告知要去哪裡。

無論如何,根據我的挖掘,您必須停用本地 IIS 網站的環回檢查。

請參閱以下內容微軟支援頁面

如果頁面遺失,我會執行以下操作(這是他在上面的部落格文章中推薦的操作)

  1. 透過在「執行」下鍵入 regedit 開啟登錄編輯程式。
  2. 導覽至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. 右鍵單擊 MSV1_0,然後按一下新建並選擇將其設為多字串值。
  4. 輸入 BackConnectionHostNames 作為條目的名稱,然後雙擊它進行修改。
  5. 輸入您需要使用的主機名稱(例如 code-journey.com)。
  6. 重新啟動 IISAdmin 服務(「開始」->「管理工具」->「服務」)

希望這可以幫助。

中巴..

答案2

這是由於稱為 LoopbackCheck 的安全功能。

安裝 Windows Server 2003 Service Pack 1 後嘗試使用伺服器的 FQDN 或其 CNAME 別名在本機存取伺服器時出現錯誤訊息:“存取被拒絕”或“沒有網路供應商接受給定的網路路徑”
http://support.microsoft.com/kb/926642

有兩個決議:

方法 1(建議):建立可在 NTLM 驗證請求中引用的本機安全機構主機名稱。為此,請對客戶端電腦上的所有節點執行下列步驟:

  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:將HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 註冊表子項目中的DisableLoopbackCheck 註冊表項設為1 來停用驗證環回檢查。上執行以下步驟:

  1. 按一下“開始”,按一下“執行”,鍵入 regedit,然後按一下“確定”。
  2. 找到並點選以下登錄子項目: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. 右鍵單擊“Lsa”,指向“新建”,然後按一下“DWORD 值”。
  4. 鍵入“DisableLoopbackCheck”,然後按 Enter。
  5. 右鍵單擊“DisableLoopbackCheck”,然後按一下“修改”。
  6. 在「值資料」方塊中,鍵入 1,然後按一下「確定」。
  7. 退出註冊表編輯器。
  8. 重新啟動電腦。

答案3

我可以告訴您,根據設定 SSO 的一些經驗,只有當網站和用戶端位於 Intranet 上,或者網站位於受信任區域中時,IE 才會自動傳遞 kerberos 票證用於登入。如果 IE 看​​到http://site.company.com/webservice它將假定該網站位於互聯網上,並且不會傳遞登入憑證。

此連結提供了一些有關 IIS、IE 和 Kerberos 的有用資訊。 http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx

我們發現在 Intranet 上允許 FQDN 的兩件事是為 Web 伺服器提供憑證並使用 SSL,或將其新增至受信任區域。

希望這對您的設定有所幫助。

相關內容