Proxy reverso do Apache2 com autenticação no Windows 7?

2

Estou tentando configurar um proxy reverso Apache2 do meu laptop (Windows 7, Apache 2.2.17) para um servidor Nexus (Windows Server 2003) em nossa rede. Este é apenas um teste antes de configurá-lo para real em um servidor visível na Internet que temos. Eu posso obter o próprio proxy configuração e proxy Nexus lindamente. Mas quando eu tento aplicar autenticação ao proxy, é quando as coisas dão errado. Eu quero ouvir na porta 8090.

Aqui estão os bits relevantes do meu arquivo httpd.conf:


Listen 8090

ProxyRequests Off
ProxyPreserveHost On

<Proxy /nexus>
    Order deny,allow
    Allow from all
</Proxy>

<Location /nexus>
    Order deny,allow
    Allow from all

    ProxyPass http://secret.mydomain.com:8082/nexus
    ProxyPassReverse http://secret.mydomain.com:8082/nexus

    AuthType Basic
    AuthName "Nexus"
    AuthBasicProvider file
    AuthUserFile c:\tmp\users

    Require valid-user
</Location>

Se eu comentar todas as diretivas Auth *, o proxy para o Nexus funciona como um tratamento usando um URL como link Mas, depois que eu adiciono as diretivas Auth * de volta, recebo uma caixa de login, insiro credenciais válidas e, em seguida, ela solicita novamente. E de novo. E de novo. A única coisa que notei é que, na primeira vez que a caixa de diálogo de credenciais aparece, o reino aparece como "Nexus" (como eu o tenho no httpd.conf). Mas em todos os prompts subseqüentes, ele é mostrado como "Sonatype Nexus Repository Manager", que, suponho, vem do próprio servidor Nexus, mesmo que não exija autenticação.

Além disso, sei que o arquivo de senhas e o usuário / senha são bons, porque se eu configurar a autenticação usando-os apenas para um diretório local, ele funcionará bem.

Encontrei várias postagens de blog sobre proxies reversos e sobre autenticação, mas não consigo fazer com que funcionem juntos. Eu tentei muitas coisas, mas esse é o problema que foi reduzido ao mais simples, eu acho.

Alguém vê algo descaradamente errado com minha configuração? Ou alguma coisa sutilmente errada?

    
por Joey Gibson 21.02.2011 / 22:08

1 resposta

2

Sua autenticação de usuário está sendo passada para o back-end, você pode tentar desabilitar o cabeçalho de autenticação com

RequestHeader unset Authorization

    
por 26.02.2011 / 10:37