Resolvido aqui . Acontece que o problema não estava com o nginx, mas com o CloudFlare.
Tentativa de resolver um problema que me incomoda um pouco. Eu destilei os sintomas em um conjunto de etapas reproduzíveis:
Eu tenho dois sites, siteA
e siteB
. Ambos são aplicativos Node.js em execução em portas diferentes (por exemplo, 4567
e 4568
)
Os dois aplicativos têm seu próprio arquivo em sites_available
(além de um link simbólico de sites_enabled
), que contém as diretivas proxy_pass http://node_siteA/
e proxy_pass http://node_siteB/
respectivamente, dentro de um bloco location
.
Eles também têm um bloco upstream
(definido globalmente?):
%pr_e%
O site A e o site B não têm nada a ver um com o outro.
Sim, estou reiniciando (recarregando, na verdade) o nginx sempre que faço uma alteração.
Se eu derrubar o site B e tentar acessá-lo pela Web, receberei o site A
Por que isso acontece?
Outras vezes, quando eu crio um novo Site C
, por exemplo, o nginx se recusa a me mostrar qualquer coisa, exceto "Welcome to nginx!" por ~ 5 minutos. Isso sugere um tempo limite de resolvedor, talvez?
Quando eu acesso Site B
após sua configuração ter sido excluída, e ele me envia para Site A
, isso soa como nginx me enviando para servidores em uma forma round-robin ...
Resolvido aqui . Acontece que o problema não estava com o nginx, mas com o CloudFlare.
Tags proxy nginx reverse-proxy