Попробовала так же заменять proxy_pass в
if ( $status != 200 ) {
proxy_pass = .......0.2 break;
}
proxy_pass = .......0.1;
error_page 404, 502, 504 @notfound
либо через условие if (! -f $request_filename )
В случае с try_files в location убирала другие if, чтобы не возникали конфликты.
Я ожидаю, что проверка происходит для каждого файла, который удовлетворяет условию location, если, к примеру, $status == 200 Ok, то проксируется на один pass, если нет - на другой. На деле же получается, что во всех вариантах захожу в блок try_files или условие if и это условие выполняется для всех файлов, а не для каждого разное.