【问题标题】:pgbouncer does not start with ldappgbouncer 不以 ldap 开头
【发布时间】:2019-09-09 16:11:00
【问题描述】:

我正在尝试使用 ldap 设置 pgbouncer 以连接 rds postgres。下载最新版本的 pbbouncer (1.11) 并使用 hba auth_type。启动 pgbouncer 守护程序时出现以下错误。我错过了什么吗?

[centos@ip-x.x.x.x etc]$ pgbouncer -V
PgBouncer version 1.11.0
[centos@ip-x.x.x.x etc]$ cat pg_hba.conf 
host all user1 0.0.0.0/0 md5
host all all     0.0.0.0/0 ldap ldapserver=ldap-server.com ldapprefix="cn=" ldapsuffix=", dc=group, dc=com"

[centos@ip-x.x.x.x etc]$ cat pgbouncer.ini | grep -v '^$' | grep -v '^;' 
[databases]
db1 = host=xxx.rds.amazonaws.com port=5439 dbname=db1
[users]
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = *
listen_port = 5439
auth_type = hba
auth_file = /home/centos/pgbouncer-1.11.0/etc/userlist.txt
auth_hba_file = /home/centos/pgbouncer-1.11.0/etc/pg_hba.conf

[centos@ip-x.x.x.x etc]$  pgbouncer -d pgbouncer.ini
2019-09-09 06:57:54.447 UTC [9465] WARNING hba line 2: unsupported method: buf=ldap
2019-09-09 06:57:54.448 UTC [9465] WARNING could not parse hba config line 2

【问题讨论】:

    标签: postgresql pgbouncer


    【解决方案1】:

    PgBouncer documentation 说:

    Auth-method 字段:仅支持 PgBouncer 的auth_type 支持的方法,any 和pam 除外,它们仅在全局范围内有效。不支持用户名映射 (map=) 参数。

    documentation of auth_type 说:

    auth_type

    如何验证用户。

    帕姆:
    PAM 用于验证用户,auth_file 被忽略。此方法与使用auth_user 选项的数据库不兼容。向 PAM 报告的服务名称是“pgbouncer”。另外,HBA 配置文件中仍然不支持pam。

    hba:
    实际的身份验证类型是从auth_hba_file 加载的。这允许不同的认证方法不同的访问路径。示例:通过 Unix 套接字连接使用 peer auth 方法,通过 TCP 连接必须使用 TLS。从 1.7 版开始支持。

    证书:
    客户端必须通过具有有效客户端证书的 TLS 连接进行连接。然后从证书的 CommonName 字段中获取用户名。

    md5:
    使用基于 MD5 的密码检查。这是默认的身份验证方法。 auth_file 可能包含 MD5 加密或纯文本密码。如果配置了md5 并且用户拥有 SCRAM 机密,则会自动使用 SCRAM 身份验证。

    scram-sha-256:
    使用 SCRAM-SHA-256 进行密码检查。 auth_file 必须包含 SCRAM 机密或纯文本密码。请注意,SCRAM 机密只能用于验证客户端的密码,而不能用于登录服务器。为了能够在服务器连接上使用 SCRAM,请使用纯文本密码。

    简单:
    明文密码通过有线发送。已弃用。

    信任:
    没有进行身份验证。用户名必须仍然存在于auth_file。

    任何:
    与trust 方法类似,但忽略了给出的用户名。要求将所有数据库配置为以特定用户身份登录。此外,控制台数据库允许任何用户以管理员身份登录。

    所以不支持ldap 身份验证方法,这就解释了你的错误。

    您可以尝试改用pam 和pam_ldap 插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-18
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 2016-08-25
      • 1970-01-01
      • 2014-07-24
      相关资源
      最近更新 更多