Как корректно обработать условие в конфиге nginx, если запрашиваемый по маске файл отсутствует, но его можно нарезать скриптом
Итак есть хост на котором настроен nginx, который статику отдаёт сам, а остальные запросы передаёт на апач (proxy_pass, вот это всё). Но с картинками есть нюанс. Если картинка, запрашиваемая по определённой маске, отсутствует, то запрос нужно передать на апач, если же существует, то просто вернуть. Подозреваю, что это должно выглядеть как-то так:
location ~* ^.+\.(jpe?g|png|webp)$ {
root /path/to/host/root;
expires 30d;
if(
$request_uri соответствует_маске ^/media/images/[0-9]+/[0-9a-z]+\.(jpe?g|png|webp)$
&&
$request_uri не_существует
) {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
# дальше апач всё сделает: нарежет, пережмёт, сохранит куда надо,
# при необходимости вернёт соответствующее содержимое и заголовки.
} else {
# вернуть картинку
}
}
Но как именно? Спасибо за внимание.