Apache mod_authnz_ldap:是否可以通过Unix域套接字文件连接?

在我的Debian服务器上,我configuration了LDAP服务器slapd ,只接受通过Unix域套接字文件的连接。 这是/etc/defaults/slapd的相关部分:

 SLAPD_SERVICES="ldapi:///" 

我一直很高兴地接受这个configuration,各种各样的PHP应用程序都很好地工作。 现在我正在尝试将Apacheconfiguration为通过LDAP进行身份validation。 我正在通过核心模块mod_authnz_ldap做到这一点。 ldapi使用ldapi URLscheme不起作用:

 AuthLDAPUrl ldapi:///ou=users,dc=example,dc=com?uid?sub?(objectClass=*) 

我所看到的所有Apache错误都是TCP连接尝试localhost:389127.0.0.1:389 ,当然,都被拒绝,因为没有人在这个端口上侦听。 我也尝试了两个URL,两者都有相同的负面结果:

 # Same as the 1st attempt, but with ldap:// instead of ldapi:// AuthLDAPUrl ldap:///ou=users,dc=example,dc=com?uid?sub?(objectClass=*) # Getting desperate: Specify the file path of the Unix domain socket file AuthLDAPUrl ldap:///var/run/slapd/ldapi/ou=users,dc=herzbube,dc=ch?uid?sub?(objectClass=*) 

AuthLDAPUrl的Apache 2.4文档声明如下:

指定要使用的LDAPsearch参数的RFC 2255 URL。

RFC 2255确实没有提到ldapi URLscheme,也没有提到如何指定Unix域套接字文件path。

我忽略了什么? 有谁知道我怎么可以得到mod_authnz_ldap使用Unix域套接字文件进行连接? 或者是真的,因为我害怕,不可能用mod_authnz_ldap做到这一点?

我的设置:

  • Debian jessie
  • Apache 2.4.10
  • OpenLDAP 2.4.40
  • Unix域套接字文件/var/run/slapd/ldapi可由Web服务器用户www-data

恐怕不是来自模块mod_authnz_ldap指令AuthLDAPURL

至less在我写这些行的时候。

一个错误跟踪报告已经发布,并准确描述你正在面对的行为:

https://bz.apache.org/bugzilla/show_bug.cgi?id=44302

如果你inputldapi:///,它(默默)被视为ldap:// localhost:389,也就是说,连接仍然通过TCP到本地主机