Хочу ресайзить изображения при выдаче страницы, используя для этого ngx_http_image_filter_module от nginx. Бэкэнд приложение работает правильно и выдает мне url вида:
/resize/60/-/media/images/0ca9f852-4d4c-4d22-b681-323219654d0a.jpg
Мне надо поймать этот url nginx'ом и ресайзуть. Замучился, никак не получается =(
В офф.
описании есть пример, но там используется кэширование, которое мне не нужно сейчас, да и настроить не смогу, и у меня идет проксирование на gunicorn, чего нет в примере. По идее, мне надо всего-навсего добавить:
location ~* ^/resize/([\d\-]+)/([\d\-]+)/(.+)$ {
alias /home/django/web/alpha/static_content/$3;
image_filter resize $1 $2;
image_filter_buffer 2M;
error_page 415 = /empty;
}
но ничего не работает, хотя nginx конфиг кушает. Прошу помощи! Вот мой конфиг:
upstream vuer.org {
server localhost:12345 fail_timeout=0;
}
server {
listen 80;
server_name www.myproject.ru;
rewrite ^/(.*) http://myproject.ru$1 permanent;
}
server {
listen 80;
client_max_body_size 200m;
server_name myproject.ru;
access_log /home/django/web/alpha/logs/alpha.access.log;
keepalive_timeout 5;
root /home/django/web/alpha/static_content;
location / {
proxy_pass http://myproject.ru;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/django/web/alpha/static_content/static/html;
}
location ~ ^/(static|media|css|js)/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://myproject.ru;
break;
root /home/django/web/alpha/static_content;
access_log /home/django/web/alpha/logs/nginx-static.access1_log;
}
}
}