Проблема при использовании модулей nginx: userid и proxy

phprus

Moderator
Команда форума
Проблема при использовании модулей nginx: userid и proxy

Столкнулся с проблемой при совместном использовании модулей ngx_http_userid_module и ngx_http_proxy_module.
В конфигурации виртуального сервера включена поддержка модуля userid (userid on;). Один из location'ов этого виртуального сервера использует ngx_http_proxy_module для обращения к apache на backend'е.
Вот этот кусок конфига:
location /cgi-bin/ {
proxy_pass http://127.0.0.1:8080/cgi-bin/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Если пользователь не имеющий cookie от модуля userid первый раз заходит на страницу, которая перенаправляется на backend, то cookie ему устанавливается, но переменная $uid_set остается пустой и соответственно не пишется в логи. В случае если первый раз пользователь зайдет на статическую страницу, то переменная $uid_set нормально заполняется и записывается в логи.
Конфигурация логов такая:
log_format my_combined '$remote_addr - $remote_user [$time_local] '
'"$uid_set" - "$uid_got" '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';

access_log /******/access.log my_combined;

Подскажите пожалуйста в чем может быть проблема. Куда копать?

Версия nginx - 0.7.14

Неделю назад писал в рассылку nginx-ru, но там никто не ответил :(

-~{}~ 08.09.08 16:03:

Дальнейшие исследования показали, что переменная $uid_set не заполняется только в случае если она используется не только в директиве log_format.
У меня в конфиге был код, который в зависимости от того какая из переменных ($uid_set, $uid_got) установлена устанавливал еще одну переменную.
Однако в списке изменений написано, что начиная с версии 0.7.0:
Добавление: переменные $uid_got и $uid_set можно использовать на любой стадии обработки запроса.
Может-быть я не правильно понимаю это изменение и все-же переменную $uid_set можно использовать только для записи в лог?
 
Сверху