servidor nodejs e conflito nginx

1

Estou executando um aplicativo nodejs em uma gota do oceano digital e estou tentando configurar o nginx para que ele faça o proxy da porta na porta em que meu aplicativo está sendo executado,

Isso é o que eu tenho no meu arquivo padrão em sites disponíveis

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /prwrite;
    index index.html index.htm app.js;

    # Make site accessible from http://localhost/
    server_name http://www.xxx.xxxxx.com;

    location / {

           proxy_pass http://www.xxx.xxxx.com:3000/;
           proxy_redirect off;
           proxy_set_header Host $host;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

    # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
    #location /RequestDenied {
    #       proxy_pass http://127.0.0.1:8080;
    #}

    error_page 404 /404.html;

}

ao alterar listen 80 default_server; para 3000, meu aplicativo de nó falha ao iniciar

mas usando a configuração fornecida, se eu for para o link , o aplicativo funciona bem

e carregando link

me dá um monte de erros 404 não encontrados na minha página

Como posso consertar isso?

    
por Bazinga777 11.12.2014 / 09:22

1 resposta

2

Seu aplicativo falha ao iniciar quando ambos, node.js e nginx, são instruídos a usar a porta 3000, porque apenas um aplicativo pode se ligar à porta (considerando que ambos estão tentando ligar a INADDR_ANY, ou seja, 0.0.0.0).

Você pode resolver essa situação adicionando o local do proxy na configuração do nginx, como location /socket.io/ { (ou algo mais apropriado à sua configuração) apontando para o seu node.js em execução na porta 3000 com proxy_pass .

    
por 11.12.2014 / 09:28