Eu determinei que o problema era que eu não tinha ativado a diretiva ProxyPassReverseCookieDomain:
ProxyPassReverseCookieDomain external_addr server1
Espero que isso ajude alguém no futuro
Estou tendo dificuldades em passar a autenticação do htdigest por meio de uma configuração de proxy reverso na máquina A, para a máquina B, que requer a autenticação.
Estou configurando uma rede de desenvolvimento para o lar, com todas as ferramentas básicas (Trac, hudson, git, svn, etc.). Tendo configurado a maioria dessas configurações, estou tentando permitir o acesso a elas de fora. Cada serviço está sendo executado em sua própria VM, para fins de gerenciamento. Configurei um proxy reverso que é o destino de todas as solicitações da porta 80 e, com base no caminho, redireciona-as para o servidor correto.
O problema se comporta da seguinte maneira. A página / login do trac requer credenciais e, em seguida, redireciona para a página inicial. A primeira vez que você acessa, pede as credenciais. Mas quando ele redireciona você para a home page, você não está logado, e qualquer tentativa de acessar a página de login novamente, apenas imediatamente redireciona para a home page.
Minha configuração do apache está abaixo:
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>
EDITAR: Algumas leituras adicionais indicam que o trac depende de cookies para este tipo de autenticação de usuário, então estou supondo que eu preciso fazer proxy de cookies de alguma forma.