ограничение на proxy_store исходя из размера отдаваемого файла

Есть следующая логика:
контент отдается с проксирующего сервера,
Проксирующий сервер если файла нет обращается к http_backend и забирает файл оттуда в свое хранилище постепенно отдавая

В конфиге это выглядит так:
    location / {
            aio on;
            directio 1m;
            root /mnt/data;
            try_files $uri @download_it;
    }

    location @download_it
    {
            aio on;
            directio 1m;
            root /mnt/data;
            proxy_store  on;
            proxy_store_access     user:rw group:rw all:rw;
            proxy_pass http://http_backend;
    }



Проблема заключается в том, что в часы пик когда идет активная отдача, если появляется большой файл (например 30 Гбайт) то его запись на диск, ложит отдачу небольшие же файлы немного просаживают отдачу но это не критично.

вопрос мой заключается в том, можно ли как то прочитать заголовок ответа http_backend и если файл больше чем 4Гайта переходит в режим
proxy_store off; ну или вообще делать редирект на сервер. на котором файл есть.

Вопрос сводится к тому как сделать проверку по получаемому из апстрима заголовку?
  • Вопрос задан
  • 2976 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы