Возможно. Сами допиливаем подобное, но у нас есть много привязок к HOST и заголовкам. Без всего этого, то проще.
На двух виртуалках под vagrant поднял nginx и php-fpm с файликом "Hello from $hostname on $uri"
И назвал их
f1.test.com
f2.test.com
После чего брали конфиг для проксирования с кешем статики и переделывали для кеширования динамики.
Алгоритм такой,
1. try_files $uri @cache @dynamic;
2. @cache
Тут делаем proxy_pass на другие беккенды где может быть кеш через upsteam
3. @dynamic
Тут proxy_pass идут на динамику, для генерации страницы, если в кеше нет.
Хитрость в том, что бы запросы которые приходили на проверку кеша обрабатывались отдельно, а не снова искались на соседних серверах. И при этом не генерировались через динамику. Для этого используется не рабочий proxy_pass который если в кеше нет ответа, выдает ошибку.
Таким образом мы либо получаем ответ и ложим себе в кеш. Либо идем на upstream и генерируем ответ и ложим в кеш, после чего его смогут получить другие.
Так, что советую сделать тестовую площадку, мне хватило ноута, и писать, проверять конфиги для вашего случая.