X-Accel-Redirect и базовая авторизация

Andrew Velikoredchanin andy at atomail.com
Tue Jan 31 19:22:10 MSK 2006


Igor Sysoev пишет:
> On Tue, 31 Jan 2006, Andrew Velikoredchanin wrote:
> 
>> Andrew Velikoredchanin пишет:
>>> Igor Sysoev пишет:
>>>> On Tue, 31 Jan 2006, Andrew Velikoredchanin wrote:
>>>>
>>>>> Я сейчас исследую возможность для того что-бы заменить процедуру
>>>>> скачивания файлов с апача через скрипт на внутренний редирект с
>>>>> этого-же
>>>>> скрипта на nginx.
>>>>>
>>>>> Т.к. у меня обрабатываются логи апача для сбора статистики по
>>>>> залогиненным юзерам, теперь мне ее надо будет собирать по логам nginx.
>>>>> Но я обнаружил что при Accel-Redirect в nginx не передается информация
>>>>> об авторизации (т.е. в логе нет имени юзера).
>>>>>
>>>>> Подскажите, плиз, что можно сделать что-бы юзер и в логе nginx
>>>>> присуствовал? Я так думаю, что какие-то хидеры вместе с
>>>>> X-Accell-Redirect нужно передавать?
>>>> В лог можно писать $remote_user, он берётся из заголовка
>>>> "Authorization: Basic ...".
>>>
>>> Я немного неправильно сформулировал. У меня используется не базовая
>>> авторизация, а своя по кукам. Есть модуль mod_perl в апаче, который
>>> занимается ее проверкой и выставлением соответствующих внутренних
>>> переменных апача в нужные значения (что-бы в логе был видел юзер). А вот
>>> как это сделать с nginx я как-то и не представляю. В скрипте который
>>> формирует X-Accell-Redirect имя юзера доступно (но именно имя юзера, а
>>> не заголовок "Authorization:"). Как его можно передать nginx что-бы он
>>> его воспринял? Вручную сформировать заголовок "Authorization:"?
>>
>> Я так понял что решения нет? Может через mod_perl/nginx можно что-то
>> сделать (взять имя юзера из куков)?
> 
> Если имя достаётся из куки регулярным вырадением, то можно с помощью
> rewrite,
> если более сложное, то нужно сделать переменную, а её обработчик на перле.

Да, но обработчик какой именно переменной нужно сделать что-бы она
соответствовала имени авторизованного юзера?

И передадутся-ли куки через цепочку фронтэнд(nginx) -> бэкэнд(apache
cgi) -> фронтэнд(nginx internal) -> бэкэнд(nginx)?





More information about the nginx-ru mailing list