Назад | Перейти на главную страницу

nginx передает REMOTE_USER в apache2

Я запускаю экземпляр apache2 за обратным прокси-сервером nginx, при этом nginx выполняет базовую аутентификацию, а apache2 обслуживает сценарии cgi Nagios.

Я могу отправить аутентифицированного пользователя из nginx в apache (в настоящее время используется заголовок X-Forwarded-User, установленный на $ remote_user), но я изо всех сил пытаюсь заставить apache2 распознавать этот заголовок и установить переменную env REMOTE_USER до того, как он выполнит сценарий CGI .

Я считаю, что mod_rewrite может это сделать, но все примеры, которые я видел, относятся к обратному сценарию, когда apache2 отправляет REMOTE_USER вниз по потоку на другой внутренний сервер.

Можно ли вообще установить REMOTE_USER в apache на что-то за пределами области собственного модуля apache mod_auth?

Вам нужен Apache mod_setenvif и SetEnvIf директивы.

например.:

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

Требуется Apache 2.0.51 или новее. Документы здесь.