Node.js com Apache, mesmo IP, portas diferentes. A configuração do host virtual interrompe o acesso normal do Apache (site no 80)?

1

Temos clientes que não querem abrir a porta 3000 em seu firewall e nosso aplicativo usa essa porta para o Node.js.

Estou tentando encontrar uma maneira de redirecionar o tráfego da porta 3000 (node.js) para que possamos acessar nosso site usando apenas o nome de domínio. Também executamos o Apache na mesma caixa. Ubuntu na AWS.

Eu principalmente tenho que trabalhar agora, mas estou perdendo um pequeno pedaço do quebra-cabeça: ele agora funciona com um redirecionamento de porta 3000 para nó, mas eu acho que, ao ativar isso, eu de alguma forma tenho mexido com o tráfego regular trabalhando para a raiz do apache . (80 e 443 não mais para o apache.) Usando 3000, o nó responde como esperado em http e https.

ANTES desta alteração, testaríamos o nó dessa maneira:

app.company.net:3000/api/test (https)

e retornaria:

'{"status": 401, "message": "Token ou chave inválida"}' que é esperado

Problema atual:

  • app.company.net/ < - NÃO FUNCIONA, exibe '{"code": "ResourceNotFound", "message": "/ não existe"}' deve abrir o portal. (http)
  • app.company.net/ < - NÃO FUNCIONA, exibe '{"code": "ResourceNotFound", "message": "/ não existe"}' deve abrir o portal. (https)
  • app.company.net/api/test < - WORKS, ativa '{"status": 401, "message": "Token ou chave inválida"}', o que é esperado. (http)
  • app.company.net/api/test < - WORKS, ativa '{"status": 401, "message": "Token ou chave inválida"}', o que é esperado. (https)

Eu instalei e configurei o mod_proxy no apache e meu redirecionamento no meu arquivo httpd.conf se parece com isto:

<VirtualHost *:80>
ServerName app.company.net
ProxyPreserveHost on
ProxyPass / http://localhost:3000/
</VirtualHost>

Se eu comentar o acima, o inverso acontece. O Apache atende a todos, mas não consigo fazer o nó responder sem anexar: 3000 ao URL.

Também tentei comentar TODOS os itens acima e mexer com o mod_rewrite, mas é o próprio buraco do coelho. Nenhuma sorte depois de horas de mexer com isto. Eu continuo recebendo erros com o / api / test não existente no servidor. Isso provavelmente deveria ser outro ingresso.

O que estou fazendo de errado?

Obrigado!

-P

    
por Patrice Otrava 11.09.2015 / 19:30

0 respostas