You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL通过OpenLDAP认证失败:ldapsearch命令差异排查

Debian Bullseye下PostgreSQL通过OpenLDAP认证失败排查

基础环境与配置

  • 系统版本:Debian Bullseye
  • OpenLDAP版本:slapd=2.4.57*
  • PostgreSQL pg_hba.conf 相关配置:
hostssl    all             all             all                     ldap ldapserver=ldap ldapport=389 ldapbasedn="dc=discover,dc=d-fine,dc=com" ldapbinddn="uid=database,ou=users,dc=discover,dc=d-fine,dc=com" ldapbindpasswd=secret ldapsearchattribute=uid ldaptls=1

核心问题现象

在数据库容器中执行以下连接命令:

psql "sslmode=require dbname=postgres host=database user=discover-bot"

返回认证失败错误:

psql: error: connection to server at "database" (172.18.0.4), port 5432 failed: FATAL:  LDAP authentication failed for user "discover-bot"

LDAP容器内测试对比

  1. 设置环境变量后测试成功
    先执行:
export LDAPTLS_CACERT=/etc/ldap/certs/ca-certs.pem

再执行LDAP查询命令,可正常获取结果:

ldapsearch -h ldap -p 389 -ZZ -D "uid=database,ou=users,dc=discover,dc=d-fine,dc=com" -w secret -b "dc=discover,dc=d-fine,dc=com" "(uid=discover-bot)"
  1. 未指定CA证书路径时测试失败
    直接执行以下命令,连接报错:
ldapsearch -x -v -ZZ ldap://ldap:389 -D "uid=database,ou=users,dc=discover,dc=d-fine,dc=com" -w secret -b "dc=discover,dc=d-fine,dc=com" "(uid=discover-bot)"

错误信息:

ldap_initialize( <DEFAULT> )
ldap_start_tls: Connect error (-11)
        additional info: (unknown error code)

待确认与排查方向

  • 两个ldapsearch命令执行结果差异的具体原因
  • 是否需要在PostgreSQL容器或LDAP容器中默认配置LDAPTLS_CACERT环境变量
  • 该认证配置在Debian Buster下可正常运行,升级到Bullseye后失效的根因
  • 如何开启并获取LDAP详细日志以定位问题

内容的提问来源于stack exchange,提问作者Fedor Petrov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 12:25:06