如果在設定 LDAP 連線時遇到問題,本節可協助您對一些常見問題進行疑難排解。
無法預覽我的連線
如果無法預覽群組和使用者,在許多情況下,這是由於 LDAP 伺服器與 SaltStack Config 之間的連線問題或 LDAP 組態表單中的項目無效所導致。請嘗試執行以下操作:
- 確保允許從 SaltStack Config 到 LDAP 伺服器上所選連接埠的 TCP 連線。
- 再次檢查表單項目,然後使用第三方工具驗證語法。請參閱如何對目錄服務連線進行驗證和疑難排解
- 如果上述項目都無法解決問題,請參閱〈其他問題〉。
- 如果上述項目沒有幫助,請連絡 SaltStack 支援。
嘗試預覽我的連線時,頁面載入過程停滯
如果頁面停滯載入時間超過兩分鐘,請遵循下列步驟重新啟動 RaaS 服務,然後刪除並重新建立組態:
- 開啟 RaaS 記錄。
tail -f /var/log/raas/raas
記錄中包含類似以下內容的錯誤:
[ERROR :256][ForkPoolWorker-2:10253][ldap_preview_background_task(some_uuid)] Task ldap preview_background_task[some_uuid]raised unexpected: KeyError('ad-1_preview')
- 停止 RaaS 服務,然後將其重新啟動。
systemctl stop raas systemctl start raas
- 返回 SaltStack Config 使用者介面並刪除 LDAP 連線。
備註:
刪除前,您可能想要將組態項目複製並貼到備份文字檔中。
- 重新建立 LDAP 組態。
其他問題
如果已設定並儲存 LDAP 連線,但使用者無法登入,或者您遇到任何其他問題,請檢查已啟用延伸偵錯的 raas
記錄,以協助確定根本原因。
啟用延伸偵錯:
- 在 RaaS 上,開啟
/etc/raas/raas
。 - 進行下列變更:
- 在
Loggingoptions
下,取消log_file_loglevel:debug
的註解 - 在
AD/LDAPdriverconfiguration
下,取消log_level
的註解並設定為log_level:EXTENDED
- 在
- 停止 RaaS 服務,然後將其重新啟動。
systemctl stop raas systemctl start raas
- 檢視
raas
記錄。如需一些常見錯誤訊息的說明,請參閱〈常見錯誤訊息〉。tail -f /var/log/raas/raas
常見錯誤訊息:
可能會在記錄中看到的一些常見錯誤,如下所示:
- 連線 (SSL) 設定錯誤。請調整 SSL 設定。
[raas.utils.validation.schemas.settings][DEBUG :546 ][Webserver:9096] Error while connecting to AD/LDAP Server. SSL connection issues: socket ssl wrapping error: [Errno 104] Connection reset by peer
- 管理員繫結 DN 的密碼錯誤。請確認並重新輸入密碼。
[raas.utils.rpc ][DEBUG :284 ][Webserver:9095] Processed RPC request(129360670417695). Response: {'riq': 129360670417695, 'ret': None, 'error': {'code': 3004, 'message': 'Request validation failure.', 'detail': {'_schema': ['Credentials are not valid']}}, 'warnings': []}
- 預先填入的預設驗證繫結 DN 篩選器將會產生衝突。將此欄位保留空白,或使用
{username}
而非{{username}}
。備註:當您已儲存 LDAP 連線但使用者無法登入時,可能會遇到此錯誤。
[var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :903 ][Webserver:9096] Running _get_auth_backend_user with this search_filter: (&(objectclass=person)(sAMAccountName={username})) [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :931 ][Webserver:9096] Could not find any user using '(&(objectclass=person)(sAMAccountName={username}))' as the search filter in the ldap backend under the ad-1 configuration. Trying remote_uid 'None' [var.tmp._MEIBCyG76.raas.mods.auth.ldap][DEBUG :963 ][Webserver:9096] Could not find any user using '(&(objectClass=person)(objectGUID=None))' as the search filter in the ldap backend under the ad-1 configuration.