@aeHarkonnen

Как настроить nginx для django-nginx-image ?

Хочу ресайзить изображения при выдаче страницы, используя для этого 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;
     }
    }
  }
  • Вопрос задан
  • 2782 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы