O aplicativo Nginx Angular não pode acessar a API REST no host local em produção

O aplicativo Nginx Angular não pode acessar a API REST no host local em produção

Pesquisei bastante e ainda não encontrei uma solução que funcione para o meu problema ...

Temos um aplicativo NodeJS que é um aplicativo Express que expõe uma API REST em localhost:3000. Também temos um aplicativo AngularJS que é construído (ng build --prod) e servido pelo Nginx. Em uma máquina local, tudo funciona bem. Quando o coloco em produção, o aplicativo Angular não consegue acessar nenhum dos endpoints da API.

Informações de cabeçalhos XHR

Saída do console do desenvolvedor

Inicialmente, pensei que isso poderia ser um problema de CORS, então ajustei minha configuração do Nginx para ser a seguinte:

server {
        listen 80 default_server;
        listen [::]:80 default_server;


        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';

        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
     }
     if ($request_method = 'POST') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
     if ($request_method = 'GET') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
        }
}

Isso não resolveu o problema. Não há informações em nenhum dos logs do Nginx e posso acessar com êxito a API REST via curl quando estiver conectado ao servidor. Estou preso. Qualquer ajuda é apreciada.

Responder1

Acontece que o Angular não consegue resolver o host local, mas usar 127.0.0.1 funciona perfeitamente.

informação relacionada