Node.js e Apache juntos usando mod_proxy

Publicado por Bruno em 12/11/2014

[ Hits: 14.514 ]

 


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

CBQ compilado no kernel (Module sch_cbq not found)

Como conectar à Internet via GPRS (operadora Oi, modem ts9989i) usando o Ubuntu

Trabalhando com Firewalld no CentOS 7

Livro digital sobre GNU/Linux Debian Etch

Google só para Linux

  

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