ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Непонятное в proxy pass



Hello!

On Sat, Feb 23, 2013 at 12:45:22PM -0500, bodomic wrote:

> Приветствую,
> 
> Столкнулся со странным и, вроде бы, не описанным поведением в proxy_pass.
> Мне нужно пропустить через image_filter картинки из mogile, сам этот
> функционал прекрасно работает. Но когда мне нужно ввести вариации - а именно
> есть две разных локации, из которых надо брать такие картинки, в зависимости
> от uri - появляется странное.
> 
> Итак, локация, которая работает:
>         location /resize/ {
>                 expires max;
>                 image_filter_buffer 15M;
>                 image_filter resize $arg_width $arg_height;
>                 proxy_pass
> http://unix:/var/run/mogile_nginx_socket:/mogstore_photo/;
>        }
> Локация, которая не работает (ввожу переменную $mogpart, для наглядности
> прямо в локации):
>         location /resize/ {
>                 set $mogpart photo;
>                 expires max;
>                 image_filter_buffer 15M;
>                 image_filter resize $arg_width $arg_height;
>                 proxy_pass
> http://unix:/var/run/mogile_nginx_socket:/mogstore_$mogpart/;
>        }
> Отличия от первого варианта: "set $mogpart photo;" и эта же переменная в
> proxy_pass.
> Вместо "часть нормализованного URI запроса, соответствующая location,
> заменяется на URI, указанный в директиве", весь URI удаляется и запрос идёт
> на /mogstore_photo/. Без остального URI. Это видно в логе - там GET
> /mogstore_photo/ 404.
> 
> Подскажите, пожалуйста, это я чего-то не дочитал в документации, или это не
> описанное поведение?
> Ну и - что делать? :)

Использование переменных proxy_pass - включает отдельный режим 
работы.  При использовании в proxy_pass переменных - URI задаётся 
полностью, http://nginx.org/r/proxy_pass/ru:

"Имя сервера, его порт и передаваемый URI можно также полностью 
задать с помощью переменных"

Решение - либо не использовать переменные, либо задать URI 
полностью.

-- 
Maxim Dounin
http://nginx.com/support.html

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.