Ao solucionar esse tipo de problema, geralmente você precisa dar um passo de cada vez. Vou tentar resumir aqui, como todo o processo foi seguido via chat já ( transcrição ).
-
Verifique se você pode se conectar do proxy ao host upstream. Nesse caso, você já tentou
curl
, o que mostra que ele pode se conectar, mas acertar um redirecionamento (veremos isso mais tarde).curl -L
para seguir os redirecionamentos pode ser útil aqui, mas se você já apontou o nome DNS para o proxy reverso, isso pode fazer com que você fique preso em um loop. -
Verifique se o proxy reverso está escutando nas portas corretas.
netstat -apnt4
é útil aqui (remova o4
para mostrar o IPv6). Neste caso, porque você também queria HTTPS, você precisa ter certeza de que os dois tipos 80 e 443 estão ouvindo. -
Verifique se você pode se conectar ao proxy reverso. Se o proxy estiver escutando na porta correta e você ainda obtiver um erro
connection refused
, será hora de verificar as configurações do firewall (não se esqueça do firewall do provedor do servidor, por exemplo, através do painel de controle da AWS). Também pode ser útil usar a guia de rede do console do desenvolvedor do navegador para ver se você está concluindo com êxito a solicitação inicial, mas está sendo redirecionado para um link corrompido. -
Neste ponto, esperamos que você possa pelo menos se conectar ao proxy reverso e você sabe que o servidor tem conectividade com o seu upstream. Se ainda assim não funcionar, talvez você esteja recebendo uma resposta
502 Bad Gateway
- isso normalmente significa que o nginx não pode falar com o upstream por algum motivo. Verifique seus registros:/var/log/nginx/error.log
é o local padrão. -
Use o google e pesquise o erro relevante. Existem dois mais comuns:
-
Permissão negada durante a conexão ao upstream. Isso pode ocorrer porque o SELinux está impedindo que o nginx faça solicitações de rede de saída. Você precisará permitir .
-
SSL_do_handshake()
comSSL23_GET_SERVER_HELLO:unknown protocol
é comum porque você está tentando se conectar com HTTPS a uma porta HTTP (80
). Nginx upsceams padrão para a porta80
- você precisará especificar explicitamente443
se quiser usar o HTTPS para se conectar ao upstream.
-