如果在配置 LDAP 连接时遇到问题,本部分可帮助对一些常见问题进行故障排除。
无法预览连接
如果无法预览组和用户,在许多情况下,这是因为 LDAP 服务器与 SaltStack Config 之间的连接存在问题,或者 LDAP 配置表单中的条目无效。尝试执行以下操作:
- 确保允许从 SaltStack Config 到 LDAP 服务器上选定端口的 TCP 连接。
- 仔细检查表单条目,并使用第三方工具验证语法。请参见如何验证目录服务连接并进行故障排除。
- 如果以上两项措施都无法解决问题,请参见下面的“其他问题”部分。
- 如果以上各项措施都无法解决问题,请联系客户支持。
尝试预览连接时,页面在加载时停滞不前
如果页面在加载时停滞不前超过两分钟,请按照以下步骤重新启动 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.