O proxy_pass nginx básico falha com HTTP 500

1

Eu tenho uma configuração extremamente mínima que, acredito, deve inverter o proxy que vejo em example.com:1234 to example.com[:80] .

error_log /var/log/nginx/error.log info;

events{
}

http{
    server{
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://example.com:1234;
            proxy_redirect default;
        }
    }
}

No entanto, navegar para a porta 80 resulta em um erro interno do servidor 500 - enquanto navega para a porta 1234 renderiza a saída esperada.

O log contém apenas entradas de "processo de sinal iniciado".

O que eu fiz de errado ou perdi? Como posso registrar uma melhor (qualquer!) Descrição do erro do servidor; Eu antecipo que esta não é a última vez que seria útil.

    
por OJFord 23.11.2015 / 02:16

2 respostas

0

Se o seu back-end estiver no mesmo host, tente usar proxy_pass http://127.0.01:1234; em vez de proxy_pass http://example.com:1234; . O NGINX invoca uma lógica interna de resolução de nomes antes de usar o DNS, pois o seu server_name é o mesmo que o nome do host na diretiva proxy_pass , isso pode ser a causa do seu problema.

    
por 23.11.2015 / 06:00
0

Basta remover proxy_redirect e enviar outra solicitação ao NGINX. Se ainda houver erro do Internal Server, investigue o arquivo de log.
Além disso, não será prejudicado se você verificar o backend (proxy_pass link ) com o curl do servidor para ter certeza de que seu back-end está funcionando bem.

    
por 09.10.2018 / 14:36

Tags