Como configurar o Apache como proxy reverso

Como configurar o Apache como proxy reverso

Um servidor de proxy reverso é um servidor da web que aceita solicitações de cliente e os rotula para o servidor de back -end apropriado. Nesse caso, o proxy reverso é o servidor voltado para a Internet, e os aplicativos de back-end estão em execução no localhost ou na rede LAN.

O Apache é o servidor da web mais popular que também pode ser configurado como um servidor de proxy reverso. Neste tutorial, você aprenderá sobre a configuração do servidor proxy reverso do Apache em um sistema Linux.

Cenário de Nework

Temos dois aplicativos que estão sendo executados com o servidor Tomcat na porta do local Host 8080. Não importa se os aplicativos estão em execução com o Tomcat ou qualquer outro serviço como NodeJs etc. Ambos os URLs de aplicações locais são:

  • http: // localhost: 8080/Demo1
  • http: // localhost: 8080/Demo2

Agora eu instalei o servidor Apache no mesmo host em execução na porta 80. O servidor Apache aceita as solicitações dos usuários da Internet e os encaminha para aplicativos correspondentes em execução no back -end. Precisamos configurar o proxy para encaminhar solicitações da seguinte forma:

  • http: // Exemplo.com >> http: // localhost: 8080/demo1/
  • http: // Exemplo.NET >> http: // localhost: 8080/Demo2/
  • http: // domínio.com/Demo1/>> http: // localhost: 8080/Demo1/
  • http: // domínio.com/Demo2/>> http: // localhost: 8080/Demo2/

Para ter uma compreensão melhor, consulte o diagrama abaixo:

Então, vamos começar a configuração:

Etapa 1: Configure o módulo Apache Proxy

Por padrão, este módulo está ativado no Apache para usuários instalados usando pacotes de RPM. Os usuários baseados em Debian precisam ativar módulos manualmente.

  • Sistemas baseados em redhat: edite o arquivo de configuração de proxy /etc/httpd/conf.módulos.d/00-proxy.conf descomment as seguintes entradas. Se não estiver disponível, adicione -os.
    LoadModule proxy_module módulos/mod_proxy.Então LoadModule proxy_http_module módulos/mod_proxy_http.então 
  • Sistemas baseados em Debian: use o seguinte comando para ativar o módulo proxy com Apache.
    sudo a2enmod proxy proxy_http  

Depois de ativar os módulos, você precisará reiniciar os serviços Apache para aplicar as alterações imediatamente.

Etapa 2: Configure o host virtual do Apache

Agora começará a trabalhar com o host virtual. Estamos criando três hosts virtuais como abaixo. Você cria apenas o que é necessário com as modificações necessárias. Edite o principal arquivo de configuração do Apache e comece com a configuração.

  • Primeiro exemplo de host virtual:
  • Para encaminhar todas as solicitações enviadas ao exemplo.com o aplicativo correspondente do servidor Tomcat de back -end, como:

    • http: // Exemplo.com >> http: // localhost: 8080/demo1/

    Configure o primeiro host virtual como abaixo:

    Exemplo de nome do servidor.com proxyrequests no proxypass/http: // localhost: 8080/Demo1/proxyPassReverse/http: // localhost: 8080/Demo1/
    12345678 Exemplo de nome do servidor.com proxyrequests no proxypass/http: // localhost: 8080/Demo1/proxyPassReverse/http: // localhost: 8080/Demo1/

  • Segundo exemplo de host virtual:
  • Para encaminhar todas as solicitações enviadas ao exemplo.NET para Backend Tomcat Server correspondente Aplicativo como:

    • http: // Exemplo.NET >> http: // localhost: 8080/Demo2/

    Configurar um host virtual como este.

    Exemplo de nome do servidor.Proxyrequests líquidos em proxypass/http: // localhost: 8080/Demo2/proxyPassReverse/http: // localhost: 8080/Demo2/
    12345678 Exemplo de nome do servidor.Proxyrequests líquidos em proxypass/http: // localhost: 8080/Demo2/proxyPassReverse/http: // localhost: 8080/Demo2/

  • Terceiro exemplo de host virtual:
  • Para encaminhar todas as solicitações enviadas ao subdiretório/Demo1/OR/Demo2 em http: // domínio.com o tomcat de back-endcat correspondentes como aplicativos como:

    • http: // domínio.com/Demo1/>> http: // localhost: 8080/Demo1/
    • http: // domínio.com/Demo2/>> http: // localhost: 8080/Demo2/

    Configurar um host virtual como este.

    Domínio do nome do servidor.COM ProxyRequests no proxyPass/Demo1 http: // localhost: 8080/Demo1/proxyPassReverse/Demo1 http: // localhost: 8080/Demo1/proxyPass/Demo2 http: //pohost: 8080/DemoMO2/BOLSYPREPRE : 8080/ Demo2/ requerido concedido a todos os necessários concedidos a todos
    1234567891011121314151617 Domínio do nome do servidor.COM ProxyRequests no proxyPass/Demo1 http: // localhost: 8080/Demo1/proxyPassReverse/Demo1 http: // localhost: 8080/Demo1/proxyPass/Demo2 http: //pohost: 8080/DemoMO2/BOLSYPREPRE : 8080/Demo2/ Requerido concedido a todos Requerido concedido a todos

Etapa 3: reinicie o apache para aplicar alterações

Depois de criar com sucesso o host virtual do Apache, você precisa reiniciar o serviço Apache. Use os seguintes comandos para reiniciar o serviço Apache com base no sistema operacional.

  • Sistemas baseados em Redhat:
    sudo systemctl reiniciar httpd  
  • Sistemas baseados em Debed:
    sudo systemctl reiniciar apache2  

Conclusão

Esta postagem do blog ajuda você a configurar o Apache como um servidor proxy reverso em sistemas baseados em Debian ou Redhat. O proxy reverso faz uma ponte entre a Internet voltada para o servidor web e o aplicativo da web em execução como um serviço de back -end.