Модуль ngx_http_image_filter_module
| Пример конфигурации Директивы image_filter image_filter_buffer image_filter_interlace image_filter_jpeg_quality image_filter_sharpen image_filter_transparency image_filter_webp_quality  | 
Модуль ngx_http_image_filter_module (0.7.54+) — это фильтр
для преобразования изображений в форматах JPEG, GIF, PNG и WebP.
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
--with-http_image_filter_module.
Для сборки и работы этого модуля необходима библиотека libgd. Рекомендуется использовать самую последнюю версию библиотеки.
Поддержка формата WebP появилась в версии 1.11.6.
Для преобразования изображений в данном формате
библиотека libgd должна быть собрана с поддержкой WebP.
Пример конфигурации
location /img/ {
    proxy_pass   http://backend;
    image_filter resize 150 100;
    image_filter rotate 90;
    error_page   415 = /empty;
}
location = /empty {
    empty_gif;
}
Директивы
| Синтаксис: | 
            image_filter image_filter image_filter image_filter 
    image_filter 
    image_filter 
     | 
                
|---|---|
| Умолчание: | 
            image_filter off;  | 
                
| Контекст: | 
            location | 
                
Задаёт тип преобразования изображения:
off- отключает обработку данным модулем во вложенном location.
 test- проверяет, что ответ действительно является изображением в формате JPEG, GIF, PNG или WebP. В противном случае возвращается ошибка 415 (Unsupported Media Type).
 size- 
выдаёт информацию об изображении в формате JSON, например:
В случае ошибки выдаётся{ "img" : { "width": 100, "height": 100, "type": "gif" } }{} rotate90|180|270- 
поворачивает изображение против часовой стрелки на указанное число градусов.
В значении параметра допустимо использование переменных.
Можно использовать как отдельно, так и совместно с преобразованиями
resizeиcrop. resizeширинавысота- 
пропорционально уменьшает изображение до указанных размеров.
Если требуется уменьшить только по одному измерению, то в качестве второго
можно указать “
-”. В случае ошибки сервер возвращает код 415 (Unsupported Media Type). В значениях параметров допустимо использование переменных. При использовании совместно сrotate, поворот изображения происходит после уменьшения размеров изображения. cropширинавысота- 
пропорционально уменьшает изображение до размера большей стороны
и обрезает лишние края по другой стороне.
Если требуется уменьшить только по одному измерению, то в качестве второго
можно указать “
-”. В случае ошибки сервер возвращает код 415 (Unsupported Media Type). В значениях параметров допустимо использование переменных. При использовании совместно сrotate, поворот изображения происходит до уменьшения размеров изображения. 
| Синтаксис: | 
            image_filter_buffer  | 
                
|---|---|
| Умолчание: | 
            image_filter_buffer 1M;  | 
                
| Контекст: | 
            http, server, location | 
                
Задаёт максимальный размер буфера для чтения изображения. При превышении размера сервер вернёт ошибку 415 (Unsupported Media Type).
| Синтаксис: | 
            image_filter_interlace  | 
                
|---|---|
| Умолчание: | 
            image_filter_interlace off;  | 
                
| Контекст: | 
            http, server, location | 
                
Эта директива появилась в версии 1.3.15.
Если включено, то итоговые изображения будут с чересстрочностью. В случае JPEG итоговые изображения будут в формате “progressive JPEG”.
| Синтаксис: | 
            image_filter_jpeg_quality  | 
                
|---|---|
| Умолчание: | 
            image_filter_jpeg_quality 75;  | 
                
| Контекст: | 
            http, server, location | 
                
Задаёт желаемое качество преобразованного изображения
в формате JPEG.
Допустимые значения находятся в диапазоне от 1 до 100.
Меньшим значениям обычно соответствует худшее качество изображения
и меньший объём передаваемых данных.
Максимальное рекомендуемое значение — 95.
В значении параметра допустимо использование переменных.
| Синтаксис: | 
            image_filter_sharpen  | 
                
|---|---|
| Умолчание: | 
            image_filter_sharpen 0;  | 
                
| Контекст: | 
            http, server, location | 
                
Повышает резкость итогового изображения. Процент резкости может быть больше 100. Значение 0 отключает повышение резкости. В значении параметра допустимо использование переменных.
| Синтаксис: | 
            image_filter_transparency  | 
                
|---|---|
| Умолчание: | 
            image_filter_transparency on;  | 
                
| Контекст: | 
            http, server, location | 
                
Определяет, сохранять ли прозрачность при обработке изображений в формате GIF и в формате PNG с цветами, заданными палитрой. Потеря прозрачности позволяет получить более качественное изображение. Прозрачность альфа-канала в формате PNG сохраняется всегда.
| Синтаксис: | 
            image_filter_webp_quality  | 
                
|---|---|
| Умолчание: | 
            image_filter_webp_quality 80;  | 
                
| Контекст: | 
            http, server, location | 
                
Эта директива появилась в версии 1.11.6.
Задаёт желаемое качество преобразованного изображения
в формате WebP.
Допустимые значения находятся в диапазоне от 1 до 100.
Меньшим значениям обычно соответствует худшее качество изображения
и меньший объём передаваемых данных.
В значении параметра допустимо использование переменных.