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

Ошибка gss_accept_sec_context (): срок действия указанных учетных данных истек на сервере Apache, Kerberos и Subversion 1.8

Системная информация

Мы используем Kerberos + Apache + Subversion. До недавнего времени мы использовали модуль dav_svn Subversion 1.5. Мы пытаемся обновиться до 1.8.

Когда клиент выполняет длительную проверку с модулем dav_svn на основе 1.8, выдается следующее сообщение об ошибке.

[Thu May 15 22:30:29 2014] [error] [client 283.10.15.26] gss_accept_sec_context() failed: The referenced credential has expired (, )

Клиент может обновить свои билеты, но похоже, что apache застрял в работе с первым из них. Есть идеи, что я могу проверить дальше?

Похоже на ошибку в библиотеке Serf, используемой Subversion 1.8 для доступа по HTTP. Не могли бы вы перенести эту проблему в систему отслеживания проблем проекта Serf: https://code.google.com/p/serf/issues/list

Проблема не возникла с Subversion 1.5, потому что Subversion 1.8 использует так называемый «режим skelta» для проверки и обновления. В режиме Skelta используется один HTTP-запрос и ответ для каждого ресурса, который необходимо получить с сервера, тогда как в режиме массового обновления все ресурсы извлекаются за один массивный ответ: http://subversion.apache.org/docs/release-notes/1.8.html#serf-skelta-default

В качестве обходного пути вы можете добавить директиву Apache «SVNBulkUpdates предпочитают» в конфигурацию вашего сервера, чтобы клиенты Subversion использовали старый режим массового обновления, который использует один большой запрос для проверки / обновления.