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

Настройка базовой аутентификации apache через обратный прокси

Мне трудно пройти аутентификацию htdigest через настройку обратного прокси на машине A на машину B, которая требует аутентификации.

Я настраиваю домашнюю сеть разработки со всеми основными инструментами (Trac, hudson, git, svn и т. Д.). После настройки и запуска большинства из них я хочу разрешить доступ к ним извне. . В целях управления каждая служба работает на своей виртуальной машине. Я установил обратный прокси-сервер, который является целью для всех запросов порта 80, и в зависимости от пути перенаправляет их на правильный сервер.

Проблема ведет себя следующим образом. Для страницы отслеживания / входа требуются учетные данные, а затем выполняется перенаправление на домашнюю страницу. При первом доступе он запрашивает учетные данные. Но когда он перенаправляет вас на домашнюю страницу, вы не вошли в систему, и любая попытка снова получить доступ к странице входа сразу же перенаправляет на домашнюю страницу.

Моя конфигурация apache ниже:

ProxyPass /trac http://server1/trac
ProxyPassReverse /trac http://server1/trac

<Proxy http://server1/trac>
    Order deny,allow
    Allow from all
</Proxy>

#<ProxyMatch http://server1/trac/[^/]+/login>
#    LoadModule auth_digest_module /usr/lib/apache2/modules/mod_auth_digest.so
#    SetEnv proxy-chain-auth On
#    AuthType Digest
#    AuthName "trac"
#    AuthDigestDomain /trac
#    AuthUserFile /etc/apache2/trac.htdigest
#    Require valid-user
#</ProxyMatch>

РЕДАКТИРОВАТЬ: Дальнейшее чтение указывает на то, что trac полагается на файлы cookie для этого типа аутентификации пользователя, поэтому я предполагаю, что мне нужно каким-то образом проксировать файлы cookie.

Я определил, что проблема в том, что я не включил директиву ProxyPassReverseCookieDomain:

ProxyPassReverseCookieDomain external_addr server1

Надеюсь, это поможет кому-то в будущем