'server_name localhost' faz com que o nginx requeira que o cabeçalho do Host seja 'localhost', ex. requer que o cliente esteja tentando acessá-lo usando o link 'e Assim, só funciona no próprio localhost :-).
Não insira um nome_do_servidor ou use um que os outros hosts reconheçam com (fqdn, IP etc).
link