Apache Mod_Proxy como Front-End de acesso e balanceamento de diversas aplicações web

Já pensou em ter que disponibilizar uma porta 80 ou 443 para cada aplicação web? Não seria nada barato e nem prático. Mesmo que você tenha um range de IPs fixos para isso, não seria muito interessante. Então, conheça (caso ainda não) o Apache Mod_Proxy para resolver este problema!

[ Hits: 21.209 ]

Por: Celso S. Faria em 02/03/2015


Front-End para SSL



Agora, que tal utilizarmos o Mod_Proxy + SSL (HTTPS)? Sim, ele também pode ser utilizado para as requisições que trafegam em HTTPS.

Vamos ao exemplo do item 4, onde já temos um balanceador de carga configurado com o Mod_Cluste,r que é bastante utilizado para front-end de servidores JBoss (a configuração desse módulo é assunto para outro artigo) e que não pode estar configurado diretamente como front-end no mesmo servidor que estamos utilizando, por incompatibilidade entre os módulos. Nesse caso, vamos transformá-lo também em um back-end.

Veja como configuramos este exemplo:

<VirtualHost _default_:443>

   ServerName nome3.site.com:443
   ServerAlias nome3.site.com:443

   ErrorLog logs/nome3_site_ssl_error_log
   TransferLog logs/nome3_site_ssl_access_log
   LogLevel warn

   SSLEngine on
   SSLProxyEngine on  # Ativação de proxy SSL

   SSLProtocol all -SSLv2

   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

   SSLCertificateFile    "/etc/httpd/conf.d/ssl/app.cer" # Certificado válido assinado pela CA
   SSLCertificateKeyFile "/etc/httpd/conf.d/ssl/app.key" # Chave privada utilizada para gerar a CSR

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
   SSLOptions +StdEnvVars
</Directory>

SetEnvIf User-Agent ".*MSIE.*" \
   nokeepalive ssl-unclean-shutdown \
   downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \
   "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

   ProxyRequests Off
   ProxyPreserveHost On

   <Proxy 192.168.1.1:443>
      Order deny,allow
      Allow from all
   </Proxy>

   ProxyPass /app https://192.168.1.5/app  # Redirecionamento em https
   ProxyPassReverse /app https://192.168.1.5/app   # Redirecionamento em https
</VirtualHost>

Observe as linhas comentadas, elas são respectivamente a ativação do modo proxy para SSL e as 2 linhas que especificam o certificado SSL do site. Mais abaixo, as instruções ProxyPass e ProxyPassReverse para HTTPS.

É importante que o back-end aceite requisições HTTPS, porém, apenas o front-end precisa ter o certificado válido (apenas por conveniência e para não aparecer a tradicional mensagem de certificado inválido, não há qualquer problema em utilizar um certificado auto-assinado).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Rápida apresentação do Mod_Proxy
   3. Cenário Utilizado
   4. Configuração inicial para o ambiente
   5. Front-End para Microsoft IIS
   6. Front-End e balanceamento para aplicações PHP
   7. Front-End para servidores JBoss
   8. Front-End para SSL
   9. Conclusão
Outros artigos deste autor

Servidor Apache hospedando diversos sites com e sem SSL

Integrando Nagios e Google Maps

Nagios - Configurando níveis de acesso e autenticação centralizada no Active Directory

Restauração e registro do RedHat após utilização de repositórios CentOS

Openfire integrado em uma floresta Active Directory

Leitura recomendada

Prevenindo acidentes com o comando RM

Compartilhando diretórios em rede com o NFS

Windows e Linux no mesmo micro

Instalação automatizada de servidores com kickstart

Dual boot no Fenix Extreme 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