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.200 ]

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

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

Openfire integrado em uma floresta Active Directory

Integrando Nagios e Google Maps

Servidor Apache hospedando diversos sites com e sem SSL

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

Leitura recomendada

Instalando o Beryl + Drivers NVIDIA no Ubuntu 6.10 (Edgy)

CRON e CRONTAB: um pouco de teoria, uso e exemplos

LXC-Container e KVM - CentOS 6.2 x86_64 rodando em outro CentOS x86_64

Minecraft 1.8.1 - Arquivo server.properties

Configurando o D-Link DSL-210 no Debian Etch

  
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