概述
以下文章說明如何在 L4 負載平衡器 + SSL 終止環境中設定 IIS 中的整合 Windows 驗證 (IWA)。

配置此方法時,由於 SPN(服務主體名稱)設定不正確或重複,因此身份驗證經常失敗。
本文對SPN註冊及其必要程序進行了全面解釋。
本文中的範例結構
[客戶端瀏覽器] | | HTTPS 存取 v [L4 負載平衡器 (TCP 443)] | | vv [伺服器 1 (IIS)] [伺服器 2 (IIS)]
- 完全限定域名:
sso.chat-messenger.com - IIS主機名稱:
伺服器1,伺服器2 - 共享服務帳戶:
CAMTEST\cam-svc
問題:SPN 重複錯誤
在整合 Windows 驗證中,用戶端會尋找它正在存取的服務的 FQDN 的 SPN,並取得對應服務帳戶的 Kerberos 票證。
setspn -S HTTP/sso.chat-messenger.com Server1$ setspn -S HTTP/sso.chat-messenger.com Server2$
如上所述,相同的 FQDN(sso.chat-messenger.com為不同主機(Server1、Server2)註冊 SPN 時,出現下列錯誤:
發現重複的SPN,操作中止。.
解決方案:將 SPN 註冊到共享服務帳戶。
在多台主機上使用相同的 FQDN 時,只需在共用服務帳戶中註冊一個 SPN 即可。
建立共享服務帳戶
雖然在 IIS 應用程式集區中執行的服務帳戶可以是網域使用者(只要它屬於網域使用者群組),但通常建議將服務帳戶與一般使用者分開,以防止意外錯誤並明確密碼原則的應用範圍。OU = 服務帳戶 像這樣,OU 使用者 為了將其與 Active Directory 網域控制站區分開來,網路攝影機服務 創建它。

使用您的服務帳戶註冊SPN。
我們將使用上面建立的服務帳戶註冊 SPN。
setspn -S HTTP/sso.chat-messenger.com CAMTEST\cam-svc
任何已加入域的設備均可接受。但是,需要具備網域管理員權限。
• SPN 也用於 HTTPS 通訊。HTTP/主機名稱您必須按此格式註冊。
IIS 應用程式集區配置
伺服器1, 伺服器2 兩個伺服器上應用程式集區的執行使用者都是您建立的服務帳戶。 CAMTEST\cam-svc 放

IIS 管理員的“設定編輯器”
若要將 IIS 應用程式集區變更為服務帳戶並確保 Windows 驗證與 Kerberos 正常運作,您需要在 IIS 管理員的「設定編輯器」功能中設定以下設定:
system.webServer/security/authentication/windowsAuthentication部分使用應用程式集區憑證を真的放使用內核模式を錯誤的放

為共用服務帳戶設定「以批次作業身分登入」權限。
應用程式集區回應 Web 請求。 w3wp.exe工作進程已啟動。如果使用共用服務帳戶執行此進程,但未授予「以批次作業身分登入」權限,則該進程將被拒絕,並發生 HTTP 503 錯誤。因此,共用服務帳戶需要具有「以批次作業身分登入」權限(基於群組原則物件)。
後續設定也可以透過每個 IIS 終端的本機安全性原則進行控制,但 Active Directory 網域控制站上的群組原則物件 (GPO) 中的組織策略可能會施加限制。在這種情況下,需要在 GPO 層級進行控制,本節將介紹如何進行控制。
將 GPO 連結到 OU=ServiceAccounts 的步驟
服務帳戶CAMTEST\cam-svcをOU = 服務帳戶如果創建於
如果您沒有將群組原則(例如,IIS-BatchLogon-GPO)連結到此組織單元,網路攝影機服務該策略不適用。由於 GPO 的適用性取決於“它連結到哪個 OU”,因此請務必將帳戶位置與 GPO 連結到的位置相符。
gpmc.msc執行該指令並啟動「群組原則管理編輯器」。- 在左側窗格中
camtest.com/ServiceAccounts右鍵點選 OU → "為該網域建立 GPO 並將其連結到此容器。→ 輸入任意名稱(例如)IIS-BatchLogon-GPO) - 創建
IIS-BatchLogon-GPO編輯 - 電腦設定 → Windows 設定 → 安全性設定 → 本機原則 → 使用者權限指派 → 以批次作業身分登入
- 雙擊開啟對話框。
CAMTEST\cam-svc新增用戶





關於 GPO 設定的應用
為確保 GPO 在目標 IIS 伺服器上正確應用… gpupdate /force 執行此操作至關重要。這將確保 GPO 設定立即生效。授予「以批次作業身分登入」權限時尤其如此,因為策略實施可能存在延遲。 w3wp.exe 這可能導致啟動失敗。
