nginx passa REMOTE_USER para apache2

3

Estou executando uma instância apache2 atrás de um proxy reverso nginx, com o nginx executando autenticação básica e o apache2 servindo scripts cgi do Nagios.

Eu posso enviar o usuário autenticado do nginx para o apache (atualmente usando o conjunto de cabeçalho X-Forwarded-User definido para $ remote_user) - mas estou lutando para fazer com que o apache2 reconheça esse cabeçalho e defina a variável env REMOTE_USER antes de ser executado o script CGI.

Acredito que o mod_rewrite pode ser capaz de fazer isso, mas todos os exemplos que vi estão relacionados ao cenário inverso, onde o apache2 está enviando o REMOTE_USER para outro servidor de backend.

É possível até mesmo configurar o REMOTE_USER dentro do apache para algo fora do reino do módulo mod_auth do próprio apache?

    
por aaa90210 06.11.2010 / 00:46

1 resposta

3

Você precisa das diretivas mod_setenvif e SetEnvIf do Apache.

por exemplo:

SetEnvIf X-Forwarded-User (.*) REMOTE_USER=$1

Requer o Apache 2.0.51 ou posterior. Docs aqui .

    
por 06.11.2010 / 02:00