apache encaminhar REMOTE_USER para X-Forwarded-User

1

Gostaria de passar a variável de ambiente REMOTE_USER definida pelo apache quando a autenticação básica HTTP estiver correta para um back-end. Isso também forneceria autenticação ao servidor de backend.

Aqui está o meu arquivo de configuração do apache2:

<Directory />
  AuthType basic
  AuthUserFile $my_file
  require valid-user
  RewriteEngine on
  RewriteCond %{REMOTE_USER} (.+)
  RequestHeader set X-Forwarded-User %{REMOTE_USER}e
</Directory>

Autenticação por apache2 vai bem, como eu sou corretamente redirecionado para o servidor de back-end, mas, em seguida, servidor de back-end não recebe o REMOTE_USER como a variável X-Forwarded-User não aparece no traço tcpdump.

O que posso ter esquecido / configurado incorretamente, que não permite que essa variável REMOTE_USER seja encaminhada para o back-end como Usuário X-Forwarded?

    
por philippe 19.05.2014 / 12:15

1 resposta

1

REMOTE_USER não é realmente uma variável de ambiente dentro do Apache, mas é definido pelo Apache ao executar coisas como manipuladores CGI ou PHP.

O valor real é incorporado em uma estrutura dentro do Apache. Veja a documentação do Apache sobre variáveis de ambiente

Talvez você precise ser ENV: como um prefixo.

<Directory />
  AuthType basic
  AuthUserFile $my_file
  require valid-user
  RewriteEngine on
  RewriteCond %{ENV:REMOTE_USER} (.+)
  RequestHeader set X-Forwarded-User %{ENV:REMOTE_USER}e
</Directory>
    
por 19.05.2014 / 12:39