Faz sentido inverter o proxy Node.js através do Apache?

6

Perfomancewise, faz sentido redirecionar solicitações de um Apache VirtualHost para uma instância do Node.js? O proxy contrabalança o impressionante desempenho do Node.js?

FYI: Eu também preciso de um par de aplicativos web PHP para serem analisados e executados na mesma máquina, essa é a única razão pela qual eu estou até pensando em usar um proxy reverso.

De acordo com minha pesquisa, o Nginx tem menos sobrecarga e, portanto, executa um pouco melhor, mas infelizmente não suporta HTTP / 1.1.

Eu também pensei em ter o Node.js atuando como proxy reverso e enviando algumas solicitações para o Apache (que processa arquivos PHP, por exemplo), mas ouvi dizer que pode haver muitos problemas de segurança.

    
por Daniel 05.07.2011 / 01:03

2 respostas

5

Gostaria de sugerir que a configuração do Apache para reverter o proxy para o Node.js seja contra a intenção do Node.js. O nó é muito leve - sua sobrecarga é mínima. Lançar um processo do apache para manipular o fluxo do Node.js nega o ponto de usar o Node.js (essencialmente, você seria limitado pelo desempenho do Apache).

O nó às vezes não é considerado estável o suficiente para ser executado sem monitoramento e pode não ser o front end ideal. Eu poderia sugerir colocar o Squid ou o HAproxy na frente do Node e do Apache, permitir que qualquer um deles sirva como seu proxy e executar o Node e o Apache em portas diferentes (por exemplo, 8080, 8081). Tanto o Squid quanto o HAProxy têm um bom desempenho e devem atender às suas necessidades sem prejudicar o servidor backend.

    
por 05.07.2011 / 01:40
5

Você não deve usar Apache no proxy node.js . Parte da velocidade de node é obtida ao manipular sua própria E / S de soquete com sobrecarga mínima: isso seria negado pelo proxy com qualquer outro servidor.

Em vez disso, você pode fazer solicitações de proxy para Apache de node usando o excelente node-http-proxy de nodejitsu - o segundo exemplo "Configurar um servidor proxy independente com lógica de servidor personalizada" é adequado para seu uso caso.

edit: Na verdade, configurei uma PHP / node instalação no outro dia usando nginx e php-fpm , há instruções completas aqui . Você também pode executar um proxy reverso a partir de nginx e permitir que node manipule suas próprias conexões simultaneamente.

    
por 05.07.2011 / 01:24