我正在尝试使用Python设置ldap。当我运行./manage.py syncldap
时,我得到:
SERVER_DOWN: {'info': 'TLS: hostname does not match CN in peer certificate', 'desc': "Can't contact LDAP server"}
在本地计算机上使用相同代码库的其他人似乎没有任何问题。有什么想法吗?
答案 0 :(得分:1)
您的其他人在本地计算机上使用相同的代码库,他们是否正在与同一个LDAP服务器通信?用于启用LDAP over SSL / TLS的SSL证书将在其中嵌入名称。 (不可编辑,您需要使用新的CN重新颁发新证书)
消息是服务器的主机名与证书中的主机名不同(这就是为什么通配符证书非常有用。不需要每个盒子都有新的证书,只需使用通配符并保留域名相同)。
我会在服务器端检查证书,无论它在哪个密钥库中,并查看主机名以查看差异。
答案 1 :(得分:0)
检查来自服务器证书主题的CN
openssl x509 -noout -text -in imsva_cert.pem | grep Subject
Subject: C=en, ST=xx, O=yy, OU=zz, CN=test.com
错误中的“主机名”是指您访问LDAP服务器的命令中的主机名,所以请使用主机test.com,例如
ldapsearch -H "ldaps://test.com:636" ...
另外请不要忘记在DNS服务器中添加test.com以确保ldapsearch可以获取主机test.com的A记录。在/ etc / hosts中指定信息是一种简单的方法。