【发布时间】:2022-12-09 23:26:45
【问题描述】:
我正在从 ldap:// 切换到 ldaps://
在我弄清楚如何使用 ldaps 进行连接并且我不能将 ldaps 与域名而不是主机名一起使用之后,我想知道如何解决这个问题。
那么什么是有效的:
ldap_connect('ldaps://dc1.example.com:636');
什么不起作用:
ldap_connect('ldaps://example.com:636');
虽然 dc1.example.com 是我的第一个 dc 的主机名,但 example.com 是一个 DNS 条目,它解析为我的域控制器的多个 IP。
接下来我做了什么? 使用 openssl 我发现使用 example.com 的 DNS 服务器的答案选择的域控制器将导致 ldap 连接错误。所选域控制器是否使用其主机名证书 (dc1.example.com) 而不是“域”证书 (example.com) 进行应答?我可以使用连接上的 ldap 选项禁用该检查吗?或者有什么其他的建议吗?我不想在连接字符串中列出所有这些域控制器,因为如果其中一个不可用,它将挂起几秒钟。使用域名将“删除”失败的 dc。
【问题讨论】:
-
所选域控制器是否使用其主机名证书 (dc1.example.com) 而不是“域”证书 (example.com) 进行应答?- 我相信这就是正在发生的事情。理想情况下,应该使用包含 DC 名称和域名的证书更新 DC,但如果您不能这样做,则可以忽略证书错误。看这里:Need help ignoring server certificate while binding to LDAP server using PHP