使用域憑據訪問 localhost 上的資源
我正在嘗試設置 Team Foundation Server 2010、Sharepoint Server 2010 和 Report Server 2008R2。對於我的問題/問題持續了多長時間,我深表歉意,但我真的不知道該去哪裡看,所以盡可能描述性,希望我說得通。
目標:由於開發人員可以在防火牆內部或外部,因此需要有一個 TFS 的單一 http 入口點,無論您位於防火牆的哪一側,並且需要使用外部訪問 SharePoint 和報表伺服器,該入口點都可以工作。這意味著我們在 DNS 中設置了它,因此 buildserver.mydomain.com: 指向建構服務框,其中包含本文頂部列出的所有服務,特定服務由埠號定義/定位。除了建構伺服器本身之外,這在內外的每台機器上都執行良好。所有服務都必須能夠使用外部 URL 工作。
如果我在防火牆後面的筆記本中使用 http://buildserver.mydomain.com:4800/tfs (外部 URL),我可以按預期使用我的域憑據登錄。如果其他開發人員從他們的家指向不在域中的相同 URL,他們也可以使用他們的域憑據登錄。
但是,如果我直接在 buildserver 上並使用外部 URL 從(即 http://buildserver.mydomain.com:4800)本身呼叫 SharePoint、TFS 或 Reporting Server,則會提示我輸入使用者名和密碼。輸入我的域憑據會導致另一個提示再次輸入我的憑據。無論使用哪種憑據,它都會提示三次(我擁有域管理員的權限),然後在第三次提示之後將我引導到一個空白頁面,就好像訪問被拒絕一樣。頁面上沒有顯示任何錯誤,事件查看器中也沒有任何內容。
如果我只使用主機名(內部 URL),則從 buildserver 中提示我一次輸入憑據並且它可以工作。即 http:// buildserver:4800/tfs 從伺服器本身工作。
對於任何需要身份驗證的服務,該行為都是相同的。從框本身來看,Sharepoint Central Admin、SharePoint WebApp、TFS、TFS Web 訪問、報表伺服器和報表管理器都使用外部 URL 失敗,但如果使用內部 URL 呼叫則會成功。
因此,當配置所有服務一起工作時,問題就出現了。配置 TFS 的唯一方法是從伺服器本地,這意味著我必須指向內部報告伺服器 url(分別為 http://buildserver:4800/reports 和 reportServer 而不是 http://buildserver.domainname.com:4800 像他們需要),因為外部 URL 本身無法正常工作。如果我將 TFS 配置為使用報表伺服器的內部 URL,那麼對於不在域內的任何人來說,為團隊項目創建團隊項目或在 SharePoint 站點中工作都會失敗,因為他們的機器甚至不知道 http://buildserver:/reports 是誰或如何解決它們。
我已經使用備用訪問映射配置了 Sharepoint,並設置了報表伺服器以偵聽外部 URL。當從伺服器本身呼叫時,外部 URL 根本不起作用。
我希望這是有道理的。感謝您花時間閱讀這個相當冗長的求助請求。
總之…環回
PlatinumDogs - Sharepoint 主機標頭和環回檢查
IntelliAdmin - 在 Windows 2003 sp1 中禁用 Cname 共享
Microsoft 支持 - 當您瀏覽使用集成身份驗證且託管在 IIS 5.1 或更高版本上的網站時收到錯誤 401.1
和信用到期的信用……我沒有自己得出這個答案。在另一個站點,使用者 zephyr_hex 將我指向這些站點。