Доброе утро! Строим вот такой просто кэшер уменьшенной статики. Для простоты добавляем это в nginx.conf.default
resolver 8.8.8.8; server { listen *:80; server_name “~^cache-(\d).domain.ru$"; set $store_id $1; root /wwwroot/domain.ru/cache-$store_id/a/; location “~^.+\.jpg$" { error_page 404 /store$uri; } location "~^\/store/(.+\.jpg)$" { internal; # proxy_store /wwwroot/domain.ru/$store_id/a/$1; proxy_pass http://$host/resize/$1; } location "~^\/resize/(.+\.jpg)$" { image_filter crop 140 140; proxy_pass http://ori-$store_id.domain.ru/$1; proxy_set_header Cookie ''; proxy_set_header User-Agent ''; } } Всё работает, ничего не кэшируется. Раскомментирую proxy-store и получается ад: в $store_id попадает всё, что матчится (.+\.jpg) и складывается в '/wwwroot/domain.ru/cache-/path/to/original/jpg/request' <http://domain.ru/cache-/path/to/original/jpg/request'>, например. То есть $store_id почему-то перезаписывается следующим $1. Почему так и как это исправить, кроме как делать отдельный server{} для каждого $store_id? Спасибо!
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru