1

我正在尝试使用 Python 设置 ldap。当我跑步时,./manage.py syncldap我得到:

SERVER_DOWN: {'info': 'TLS: hostname does not match CN in peer certificate', 
'desc': "Can't contact LDAP server"}

在本地机器上使用相同代码库的其他人似乎没有任何问题。有什么想法吗?

4

2 回答 2

2
  1. 从服务器证书的主题检查 CN

    openssl x509 -noout -text -in imsva_cert.pem | grep Subject
    Subject: C=en, ST=xx, O=yy, OU=zz, CN=test.com
    
  2. 错误中的“主机名”是说你的命令中的主机名访问LDAP服务器,所以请使用主机test.com,例如

    ldapsearch -H "ldaps://test.com:636" ...
    
  3. 另外不要忘记在您的 DNS 服务器中添加 test.com 以确保 ldapsearch 可以获取主机 test.com 的 A 记录。在 /etc/hosts 中指定信息是一种简单的方法。

于 2015-12-01T13:24:46.810 回答
1

你的其他人,在他们的本地机器上使用相同的代码库,他们正在与同一个 LDAP 服务器通信吗?用于通过 SSL/TLS 启用 LDAP 的 SSL 证书将嵌入一个名称。(不可编辑,您需要使用新 CN 重新颁发新证书)

消息说服务器的主机名与证书中的主机名不同(这就是通配符证书如此有用的原因。不需要为每个盒子都提供新证书,只需使用通配符并保持域相同)。

我会在服务器端检查证书,无论它保存在什么密钥库中,然后查看主机名以查看差异..

于 2013-10-28T19:17:17.453 回答