将用户添加到 LDAP 后,除非重新启动 apache,否则用户无法登录 SVN

将用户添加到 LDAP 后,除非重新启动 apache,否则用户无法登录 SVN

系统规格:
LDAP:apache-ds 2.0 M7/debian squeeze
SVN:subversion 1.6.5/debian
Apache:2.2 mod_svn/auth_ldap mods 已启用

我已经成功将两个系统 (LDAP 和 SVN) 集成在一起。我目前遇到的问题是,一旦将用户添加到 LDAP,Apache 似乎无法识别用户的添加,直到服务器重新启动 (/etc/init.d/apache2 restart)。

Apache 是否会使用一些在引入新更改之前必须刷新的缓存?

必须重新启动 apache,这使得我的管理员很难完全自主地管理入职。

答案1

我认为您可能想要更改 LDAP 缓存设置(假设您正在使用 mod_ldap),另请参阅: http://httpd.apache.org/docs/2.2/mod/mod_ldap.html

尤其:

LDAPCacheTTL Directive
(...)
Specifies the time (in seconds) that an item in the search/bind cache remains valid. The default is 600 seconds (10 minutes).

我的服务器上没有启用 LDAP 缓存,发现密码更改会立即传播。虽然这可能会增加性能损失,但也许缩短 TTL 是一个更好的选择。

实际上,仔细想想,LDAP 缓存不应该影响您的特定问题,因为您的问题发生在创建新的用户。在这种情况下,它应该直接轮询 LDAP 服务器,因为在缓存中没有找到任何条目。

答案2

您是否知道“正常”重启 apache 会重启但不会中止任何当前打开的连接?因此您可以重启,旧连接最终会消失。基本上,这是 apachectl 中的一个选项,或者我向进程发送 SIGUSR1 信号。

相关内容