使用 ARR 對 Lync 2013 內部 Web 服務進行負載平衡時身份驗證失敗
我在 Windows Server 2012 R2 上使用 Application Request Routing 3.0 對 Lync 2013 前端池上的內部 Web 服務進行負載平衡;我沒有使用它來反向代理外部 Web 服務(有一個單獨的反向代理),我只是將它用作負載均衡器,因為該客戶沒有任何其他可用的負載均衡解決方案。
我已將 DNS 配置為將所有 Lync 內部 Web 服務 URL 指向 ARR 伺服器,我已定義一個伺服器場,其中包括池中的兩個 Lync 前端伺服器,我已將 ARR 配置為路由所有 HTTP 和 HTTPS 請求到此場,無論 URL 或主機名如何;ARR 伺服器上 IIS 中的預設網站僅配置為匿名身份驗證。
請求被正確路由,但是對於所有經過身份驗證的 Lync Web 服務(很多),身份驗證都失敗了。
我已經確定問題出在 Kerberos 身份驗證上,並且快速的 Google 搜尋發現很多人在通過 ARR 和 Kerberos 身份驗證發布經過身份驗證的網站/服務時遇到了身份驗證問題;我嘗試在 Lync 伺服器上的 IIS 中手動禁用“協商”身份驗證方法,只留下“NTLM”,並且使用此設置一切正常;這確實表明問題實際上是由 Kerberos 身份驗證引起的。但是,完全不支持在 Lync 伺服器上修改 IIS 配置,並且在發生配置更新或安裝 Lync 更新時,任何手動更改都可能被重置,因此我不能以這種方式手動配置 IIS。
當請求通過 ARR 伺服器路由時,我正在尋找一種(支持!)在內部 Lync Web 服務上進行身份驗證的方法。
這可以做到嗎?如何?
經過一番掙扎,我們發現無法通過 ARR 使 Kerberos 身份驗證工作;作為一種解決方法,我們只是從域中刪除了 ARR 伺服器:這迫使它完全跳過 Kerberos 身份驗證,一切都立即開始工作。
我接受這個答案是因為它解決了問題並讓我們使用 ARR 來平衡 Lync 的內部 Web 服務,但是如果/當有人提出一個實際上可以使 Kerberos 身份驗證工作的答案時,我會很高興接受它.