Непонятное в proxy pass
bodomic
nginx-forum at nginx.us
Sat Feb 23 17:45:22 UTC 2013
Приветствую,
Столкнулся со странным и, вроде бы, не описанным поведением в 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.
Подскажите, пожалуйста, это я чего-то не дочитал в документации, или это не
описанное поведение?
Ну и - что делать? :)
# nginx -V
nginx version: nginx/1.2.7
built by gcc 4.4.5 (Debian 4.4.5-8)
TLS SNI support enabled
configure arguments: --prefix=/ --sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid
--lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log --user=www-data --group=www-data
--with-http_ssl_module --with-http_realip_module
--with-http_gzip_static_module --with-http_image_filter_module
--with-pcre=../../libs/pcre-8.31 --with-pcre-jit
--with-zlib=../../libs/zlib-1.2.7 --with-openssl=../../libs/openssl-1.0.1c
--http-client-body-temp-path=/var/lib/nginx/body
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi-temp
--http-scgi-temp-path=/var/lib/nginx/scgi-temp --with-http_dav_module
--with-http_stub_status_module --with-http_geoip_module
--with-http_flv_module --with-http_mp4_module
--add-module=../../libs/nginx_mogilefs_module-1.0.4
--add-module=../../libs/ngx_devel_kit-0.2.17rc2
--with-http_secure_link_module
--add-module=../../libs/lua-nginx-module-v0.7.1rc1
--add-module=../../libs/nginx-redis2.v0.08rc4
--add-module=../../libs/echo-nginx-module-0.40rc1
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,236514,236514#msg-236514
Подробная информация о списке рассылки nginx-ru