Где поискать красивые конфиги nginx или как сделать красивым мой?
Конфиги nginx не язык программирования. Не надо на него применять программистские догмы, что дублирование это плохо и т.д. На самом деле статический конфиг без переменных будет работать гораздо быстрее, чем ваш. Одно лишь добавление переменной $host в access_log уже добавляет два дополнительных системных вызова на каждый запрос. Переменные в nginx нужны не для «шаблонизации», а для решения реально динамических задач конфигурации.

p.s.
mailman.nginx.org/pipermail/nginx-ru/2011-November/044461.html
не помню точно, но логически должно работать:
не уверен, можно ли set в контексте сервера, но попробуйте.
Но: нужно использовать именованные локейшены, тогда конфиг точно станет красивее.

set $h site1.ru;
include defaults-server
set $h site2.ru;
include defaults-server

----
defaults-server
server {
  server_name $h www.$h
  include locations;
  location / {return 406;}

}
---
locations

error_page 406 @bckend;
location @bckend{
  proxy_pass ...
 ....
}

