Добрый день!
Подскажите как мне организовать локейшены для реализации следующей логики
ключевой паттерн на который сейчас используется
location ~* \.(png|gif|jpg|jpeg)$ {
# запрос проксируется на бекенд где происходит разбор ситуации и принимается
# решение куда проксировать дальше и что делать.
# хочется сделать чтобы основная
# логика отрабатывалась сразу на фронте nginx
}
логика которая требуется
(вариант 1)
запрос /yyy/xxx/ggg/a1b2c3%20d4.jpg - надо проксировать на бекенд№1 as is + использовать кэш nginx
http://backend1:port/yyy/xxx/ggg/a1b2c3%20d4.jpg
(вариант 2)
запрос /yyy/xxx/ggg/a1b2c3%20d4.jpg?param1=value1 - надо проксировать на бекенд№1 + использовать кэш nginx
http://backend1:port/yyy/xxx/ggg/a1b2c3%20d4.jpg
(т.е. игнорируем все параметры отличные от param2, param3, param4 - см ниже)
(вариант 3)
запрос /yyy/xxx/ggg/a1b2c3%20d4.jpg?param2=value2 - надо проксировать на бекенд№2 + использовать кэш nginx
http://backend2:port/blabla/?source=http://static_server/yyy/xxx/ggg/a1b2c3%20d4.jpg¶m2=value2
(вариант 4)
запрос /yyy/xxx/ggg/a1b2c3%20d4.jpg?param3=value3 - надо проксировать на бекенд№2 + использовать кэш nginx
http://backend2:port/blabla/?source=http://static_server/yyy/xxx/ggg/a1b2c3%20d4.jpg¶m3=value3
(вариант 5)
запрос /yyy/xxx/ggg/a1b2c3%20d4.jpg?param4=value4 - надо проксировать на бекенд№3 + использовать кэш nginx
http://backend3:port/blabla/?source=http://static_server/yyy/xxx/ggg/a1b2c3%20d4.jpg¶m4=value4