Есть ли возможность конвертировать изображения в webp на стороне Nginx «на лету»?
Я знаю, что в Nginx можно задать проверку на то, поддерживает ли данный браузер формат webp, и, исходя из этого выдавать картинку в данном формате, либо, в противном случае, в jpeg, png. Предполагается при этом, что картинка в формате webp уже есть. Я хочу, чтобы конвертация в формат webp проходила автоматически на стороне сервера для каждой картинки. Возможно ли такое?
можно добавить скрипт, который будет конвертировать картинку по запросу и сохранять, и добавить проверки с редиректом. проверка на наличие файла, если нет, генерим и отдаем, если есть то просто отдаём
Конвертить на лету - дорогое удовольствие. Лучше наверное сразу хрантить в webp. Ну а если хранить - то надо обе версии. И jpeg и webp. Даже с учотом классной экономии - все равно хранилище опухнет раза в полтора. Если у вас - ресурс для хранения фоток к примеру в 1 петабайт, то надо прикупить еще пол петабайта для таких вот дополнительных услуг.
Посмотрите в сторону https://www.modpagespeed.com/ - модуль для nginx, который умеет выполнять кучу оптимизаций с отдаваемым контентом, в том числе конвертировать изображения в webp если браузер его поддерживает. Установка, правда, не совсем тривиальная - требуется для nginx собирать из исходников. https://www.modpagespeed.com/doc/build_ngx_pagespe...