Você deve usar vários blocos de servidor e, em cada servidor, usar locais, em vez de instruções if. É mais eficiente e o comportamento é mais previsível.
O artigo do Nginx " if is evil " é uma leitura necessária. Você também deve ler " armadilhas comuns "