我正在将服务器迁移到新的基础架构,并且必须再次设置LDAP。 它不是用来访问服务器的,而是用来从我们的网站访问我们BI平台的用户的存储库。
LDAP正在运行,我可以在办公室使用LDAP Administrator来连接和绑定,不用担心。
我不能做的是得到Drupal(在同一台服务器上)或YellowFin(Java应用程序在不同的服务器相同的群集)绑定。 我很确定他们正在连接,但不具有约束力,而且我在这三个地方使用完全相同的凭据。
我从Drupal得到的唯一错误是:
Failed to bind to server. ldap error #82 Success
从黄鳍金枪鱼有更多的信息(我认为,确定数据编辑):
YF:2015-05-08 01:54:26:DEBUG (LDAPUtil:createConnection) - Opening connection to xx.xx.xx.xx on port 636 YF:2015-05-08 01:54:26:DEBUG (JNDILDAPProvider:authenticate) - Connecting: ldaps://xx.xx.xx.xx:636 YF:2015-05-08 01:54:26:DEBUG (JNDILDAPProvider:authenticate) - User: cn=admin,dc=xxxxxxxxxxx,dc=com,dc=au YF:2015-05-08 01:54:26:ERROR (LDAPUtil:createConnection) - LDAP authentication failed YF:2015-05-08 01:54:26:ERROR (LDAPUtil:createConnection) - LDAP authentication failed YF:2015-05-08 01:54:26:ERROR (LDAPUtil:testConnection) - LDAP connection failed YF:2015-05-08 01:54:26:DEBUG (DSTCache:getJavaTimeZoneID) - Invalid TimeZoneCode passed. Value was ASIA/ABU_DHABI YF:2015-05-08 01:54:27:DEBUG (MIImageAction:execute) - MIImageAction entered
我想知道如果时区错误是一个问题,也许?
slapd服务正在侦听端口636上的所有IP,相关的netstat
结果:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 9150/slapd tcp6 0 0 :::636 :::* LISTEN 9150/slapd
我们正在使用AWS,并试图在端口636上完全打开安全组(防火墙),但没有任何结果。
ldap.conf看起来像这样:
# See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=intermedium,dc=com,dc=au #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 URI ldap://127.0.0.1 ldaps://xxxxxxxxxxxxxxxxx #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never TLS_CACERTDIR /etc/openldap/certs TLSCACertificateFile /etc/pki/tls/certs/xxxxxxxxxxxxxxxxx.ca-bundle TLSCertificateFile /etc/pki/tls/certs/xxxxxxxxxxxxxxxxx.crt TLSCertificateKeyFile /etc/pki/tls/certs/xxxxxxxxxxxxxxxxx.key TLS_REQCERT allow REFERRALS off # Turning this off breaks GSSAPI used with krb5 when rdns = false #SASL_NOCANON on
slapd.conf如下所示:
# OpenLDAP server configuration # see 'man slapd' for additional information # Where the server will run (-h option) # - ldapi:/// is required for on-the-fly configuration using client tools # (use SASL with EXTERNAL mechanism for authentication) # - default: ldapi:/// ldap:/// # - example: ldapi:/// ldap://127.0.0.1/ ldap://10.0.0.1:1389/ ldaps:/// SLAPD_URLS="ldapi:/// ldaps:///" # Any custom options #SLAPD_OPTIONS="" # Keytab location for GSSAPI Kerberos authentication #KRB5_KTNAME="FILE:/etc/openldap/ldap.keytab"
我会非常感激任何意见。
非常感谢@strongline和@Craig Miskell指出我的方向,最后是两个不同的错误,我会把这个错误放在这里,以防其他人发现这个错误。
绑定失败,因为源站点启用了Blowfishencryption,并且目标服务器没有安装php-mcrypt mod,即使我更新了密码,仍然尝试使用Blowfishencryption绑定密码。 安装php-mcrypt解决了这个问题。
YellowFin需要在Java密钥库中的LDAP服务器证书和链。 要解决此问题,请为LDAP服务器查找或创build证书,然后按照堆栈溢出答案中的说明进行操作。
关于Java应用程序的时区问题,请不要让Kava在Linux上确定自己的时区。 改用TZ。 我在http://distracted-it.blogspot.co.nz/2014/09/dont-let-java-on-linux-determine-its.html上对此进行了进一步的博客