[ANNOUNCE] auth request module 0.2
Виктор
nginx-forum на nginx.us
Пт Июн 4 10:41:09 MSD 2010
> > location / {
> > auth_request /auth;
> > auth_request_set $cached
> $upstream_http_x_ok;
> >
> > # должно быть что-то
> для выхода на @cached1 @cached2 или
> @nocached
> > # в зависимости от
> того авторизован
> пользователь или нет
> > }
> > }
> >
> > Подскажи пожалуйста, как
> обработать на nginx
> информацию
> > переданную с back-end'а. Могу
> вернуть оттуда параметр в
> > заголовке или через
> статус, но вот как это
> описать в конфиге
> > nginx?
>
> Вернуть заголовок, сделать
> auth_request_set этого заголовка
> в переменную. Далее либо
> уйти в нужный location в
> зависимости от
> значения этой переменной,
> либо (если нужно просто
> отключить кеш)
> воспользоваться proxy_no_cache
> (0.8.38+).
>
> Maxim Dounin
не выходит... делаю вот так:
http {
server {
set $cached 0;
location @cached1 {
proxy_pass http://127.0.0.1;
proxy_cache one;
...
}
location @cached2 {
proxy_pass http://127.0.0.1;
proxy_cache two;
...
}
location @nocached {
proxy_pass http://127.0.0.1;
proxy_set_header X-Set-Cached $cached;
}
location = /auth {
proxy_pass http://127.0.0.1;
}
location / {
auth_request /auth;
auth_request_set $cached $upstream_http_x_ok;
if ($cached = 1) {
error_page 404 405 502 504 = @cached1;
break;
}
if ($cached = 2) {
error_page 404 405 502 504 = @cached2;
break;
}
if ($cached = 0) {
error_page 404 405 502 504 = @nocached;
break;
}
}
}
При этом проксирую тот заголовок который получил от /auth в заголовок X-Set-Cached основного запроса. На стороне back-end'а в основном запросе я его вижу, а в блоке if почему-то срабатывает @nocached
nginx version: nginx/0.7.65
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,67419,94382#msg-94382
Подробная информация о списке рассылки nginx-ru