Graphiti / Graphite usando Apache com Proxy e BasicAuth solicita autenticação para cada URL / solicitação

1

Temos um servidor com o apache configurado como um front-end de autenticação para um serviço da Web de back-end em execução na mesma caixa.

A configuração pareceu funcionar no começo, mas logo percebemos que o apache estava pedindo autenticação toda vez que clicamos em um link, voltamos ou recarregamos uma página. Agora estamos perdidos para resolver isso.

Nosso arquivo de hosts virtuais apache2:

<VirtualHost *:80>

  ServerName app.ourdomain.com
  ErrorLog /var/log/apache2/graphiti-error.log
  CustomLog /var/log/apache2/graphiti-access.log common

  <Location "/">
          require valid-user
          order allow,deny
          Allow from all
          AuthType Basic
          AuthName "Stats"
          AuthBasicProvider file
          AuthUserFile /etc/passwd_lp
  </Location>

  ProxyRequests off
  ProxyPreserveHost on
  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/

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

</VirtualHost>

Estamos usando o Apache2 v2.2.22 no Ubuntu EC2 12.04

Já tentamos; movendo as declarações Auth para o bloco <Proxy> ; definindo ProxyRequests on ; definindo ProxyPreserveHost off .

Obrigado

    
por nightowl 19.12.2012 / 13:44

1 resposta

1

Agora resolvi esse problema. Não tem nada a ver com o Apache no final (per se). O Graphiti usa uma função JavaScript para fazer solicitações HTTP para o serviço Graphite, que nós configuramos como um vhost separado, que também tinha a configuração Auth (alguns usuários preferem usá-lo diretamente).

Então, basicamente, nenhum usuário / senha estava na URL que o grafite estava usando, e cada um acionou um prompt de autenticação. Para corrigir isso, precisamos apenas atualizar nossos modelos para que o URL seja gerado com a sintaxe http://<user>:<password>@<host> .

    
por 20.12.2012 / 18:20