Node.js e Apache juntos usando mod_proxy

Publicado por Bruno em 12/11/2014

[ Hits: 14.177 ]

 


Node.js e Apache juntos usando mod_proxy



Esta dica tem como objetivo, mostrar como o Node.js e o Apache podem trabalhar juntos sendo performático.

Preparando o Apache

Nesse processo, assumimos que já temos um servidor Apache up and running, em um servidor com a distro Ubuntu.

Vamos dizer que você quer experimentar com Node.js, mas você não quer jogar fora todo o seu Apache existente. Vamos mostrar como configurar o servidor Apache existente para encaminhar solicitações para uma pasta específica para o Node.js.

Em nosso caso, iremos configurar a URL em que o Node.js responde pelo Apache. Ou seja, configuramos nosso Node.js para receber requisições nessa URL:

http://exemplo.com:10020/process

E iremos utilizar o Apache para recebê-las na porta 80 na URL:

http://exemplo.com/process

O primeiro passo, é habilitar os módulos proxy e proxy_http no Apache. Abra o terminal, navegue até o diretório onde seu Apache está instalado e digite os seguintes comandos :

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo service apache2 restart

O segundo passo, é configurar um vhost. No Ubuntu:

# cd /PATH_APACHE/conf.d
# touch exemplo.conf
# vim exemplo.conf

Coloque as seguintes informações no arquivo:

a<VirtualHost *:80>
     ProxyRequests off
             <Proxy *>
                    Order deny,allow
                    Allow from all
             </Proxy>
           <Location /process>
             ProxyPass http://localhost:10020/process
             ProxyPassReverse http://localhost:10020/process
         </Location>

</VirtualHost>

Feito isso, salve o arquivo e reinicie o Apache:

sudo service apache2 restart

Pronto, agora é só testar acessando a URL do seu browser preferido: http://exemplo.com/process
A resposta deverá ser a mesma quando acessar a URL do Node.js: http://exemplo.com:10020/process

Aplicação: alguns sistemas, como o PagSeguro, possuem APIs de integração que não aceitam chamadas que passam a porta na URL, nesse caso, o nosso problema é facilmente resolvido.


Abraços e até a próxima!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Características das principais distribuições Linux

Brute force DNS em C

10 conceitos básicos de segurança em um servidor

Resolvendo problemas com adaptador bluetooth no Ubuntu 9.10

CBQ compilado no kernel (Module sch_cbq not found)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts