Configurando a autenticação básica do apache por trás de um proxy reverso

1

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.

    
por mklauber 09.07.2011 / 02:48

1 resposta

2

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

    
por 09.07.2011 / 16:35