我已设置 OpenLDAP,并安装了 GoDaddy SSL 证书。非安全 LDAP 搜索工作正常。但是当我这样做时:ldapsearch -x -b dc=yln,dc=info -Z
,我得到这个:
ldap_start_tls: Connect error (-11)
ldap_result: Can't contact LDAP server (-1)
如果我以 root 身份运行该命令,它就会起作用。
这是我的 ldif 文件:
dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/openldap/slapd.args
olcLogLevel: none
olcPidFile: /var/run/openldap/slapd.pid
olcTLSCACertificatePath: /etc/openldap/certs
olcTLSCertificateFile: /etc/openldap/certs/1d40117d24e9b169.pem
olcTLSCertificateKeyFile: /etc/openldap/certs/yln.key
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: 940013a0-3521-1034-9ed9-875b6f3874a7
creatorsName: cn=config
createTimestamp: 20150120185459Z
entryCSN: 20220801163425.157759Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20220801163425Z
这是我的证书文件:
-rw------- 1 ldap ldap 2317 Aug 12 12:51 1d40117d24e9b169.pem
-r-------- 1 ldap ldap 1708 Aug 12 11:52 yln.key
我已添加ldaps:///
到 slapd 文件和 ldap.conf 中,我添加了:
TLS_CACERT /etc/openldap/certs/1d40117d24e9b169.pem
TLS_REQCERT allow
我已经到了用头撞墙的地步了。是权限问题还是其他什么问题?
答案1
你之前这么说 ”如果我以 root 身份运行该命令,它就会起作用。”
这表明存在权限问题。您的客户端可能无法访问它所需的配置文件(或证书文件)。公共证书应该是全世界可读的——根据定义,它是公共知识。私有证书只能由服务器进程访问。