Назад | Перейти на главную страницу

После того, как пользователь добавлен в LDAP, пользователь не может войти в SVN, пока apache не будет перезапущен.

Системные характеристики:
LDAP: apache-ds 2.0 M7 / сжатие debian
SVN: subversion 1.6.5 / debian
Apache: 2.2 mod_svn / auth_ldap моды включены

Я успешно интегрировал две системы вместе (LDAP и SVN). Проблема, с которой я сейчас сталкиваюсь, заключается в том, что после добавления пользователя в LDAP Apache, похоже, не распознает добавление пользователя до тех пор, пока сервер не будет перезапущен (/etc/init.d/apache2 restart).

Будет ли apache использовать какое-то кеширование, которое необходимо очистить перед внесением новых изменений?

Необходимость перезапуска Apache затрудняет для моих администраторов возможность полностью автономно управлять подключением.

Я думаю, вы можете изменить настройки кеша 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, поскольку в кэше не было найдено записей.

Знаете ли вы, что "изящный" перезапуск apache будет перезапущен, но НЕ прервет какие-либо в настоящее время открытые соединения? Таким образом, вы можете перезапустить, и старые соединения в конечном итоге отключатся. По сути, это опция в apachectl, или я отправляю процессу сигнал SIGUSR1.