Что в данном случае отработается раньше: кэш или условие?
Можно ли сделать так, чтобы сначала пробовал найти запрашиваемый ресурс в кэше, и только если его там нет - обрабатывались какие-то условия?
location / {
proxy_pass http://localhost:8080/;
proxy_cache cache1;
...
if ( [regex] ) {
rewrite ...;
}
}