Хорошо, это новый вопрос OpenLDAP, так что терпите меня.Я не смог найти прямой ответ в вебинете, поэтому мы идем:
Примечание : конечная цель - настроить сервер OpenLDAP в качестве прокси / кэшадля «одиночного» запроса, чтобы получить все результаты в главном LDAP (если вы знакомы с dll DirectoryServices .Net, приложение просто выполняет вызов FindAll () в LDAP).
Iимейте это к точке, где Прокси / Кэш показывает те же результаты, что и мастер (то есть, он передает запросы), однако это, кажется, не кэширует.Я говорю это по двум причинам:
- Если я обновляю запись в главном LDAP, я сразу же вижу обновленное значение в прокси (используя браузер LDAP, который указывает на URL прокси)), даже до истечения срока действия TTL.
- Если я завершу работу основного LDAP и сделаю запрос к прокси, я получу исключение соединения.Если я не ошибаюсь, я должен вместо этого получить кэшированный результат (еще раз, TTL не истек).
Вот файл конфигурации OpenLDAP, который я использую для прокси / кэша (в Windows, OpenLDAP v.2.4.23):
database ldap
uri "ldap: // MyPC"
суффикс "dc = local"
rootdn "dc = local"
оверлейный pcache
proxycache bdb 1000 3 250 432000
directory ./cache
index objectclass eq
index cn eq, sub
proxycachequeries 100
proxyattrset 0 cn certificateRevocationList
proxytemplate (objectclass =) 0 600
Несколько вещей, на которые стоит обратить внимание:
- Я включаю «все»msgstr "атрибутов в записях в главном LDAP как часть proxyattrset.Я понимаю, что это необходимо для кэширования / обслуживания заданного запроса.Поскольку я хотел кэшировать FindAll (), я предполагаю, что это способ сделать это.
- Интервал проверки согласованности установлен на 5 дней (432000 секунд).Я хочу, чтобы кэш мог обслуживать кэшированные запросы, даже если главный сервер не работал так долго.Также обратите внимание, что TTL установлен на 10 минут (600 секунд) - это потому, что я хочу, чтобы запросы к кэшу обновлялись как минимум каждые 10 минут (если главный сервер работает).
Okна мои вопросы :
- Есть ли способ быстро настроить OpenLDAP для кэширования ВСЕХ запросов без необходимости указывать все атрибуты в proxyattrset?
- Почемуя получаю ошибку соединения, когда я убиваю основной LDAP и делаю запрос к прокси в TTL?Мои запросы не кэшируются?Если да, что мне не хватает в файле конфигурации для включения кэширования?