Application Falha ao não trabalhar no servidor da Web do Apache 2.2 configurado com o balanceador de carga BIG IP (f5)

3

Estou usando o Apache 2.2 na frente do meu servidor de aplicativos JBOSS 5.2 em uma configuração de cluster. Os dois nós da configuração do cluster residem no host diferente. Esta configuração está hospedada em servidores Linux.

Nesta configuração, estou usando um Load Balancer BIG IP (F5), que fica entre o servidor Web e os servidores de aplicativos Jboss.

No caso de failover de um dos servidores de aplicativos, o balanceamento de carga está funcionando bem e está roteando a solicitação de um nó do cluster para o outro nó. Mas o meu servidor web apache não é capaz de encaminhar o pedido para o nó de trabalho do cluster e dá o erro que o servidor de aplicativos que está sendo solicitado não é rachable. No entanto, quando eu reiniciar o servidor apache parece funcionar bem e eu sou capaz de acessar o aplicativo.

Parece que o apache está armazenando em cache o URL do servidor de aplicativos e o cache não está sendo atualizado quando tento acessar a URL do servidor da web após a ocorrência do failover.

Abaixo está a configuração do httpd.conf que estou usando:

<VirtualHost 10.38.205.100:443>
DocumentRoot /var/www
ErrorLog /etc/httpd/logs/error.log
TransferLog /etc/httpd/logs/access_log
CustomLog /etc/httpd/logs/ssl_access.log combined
# Enable Server on this Virtual host
SSLEngine on
# Disable SSLV2 in  favour of more robust SSLV3
SSLProtocol all -SSLv2
# List of supported cryptografic server cipher suites
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
#Apache Server certificate
SSLCertificateFile /home/users/domain.com.ssl/MyWebServer.crt
#Apache server private key
SSLCertificateKeyFile /home/users/domain.com.ssl/MyWebServer.key
#Chain Certificate
SSLCertificateChainFile /home/users/domain.com.ssl/cat.txt
# It's mandatory for apache to authenticate the client's certificates
SSLVerifyClient none
SSLVerifyDepth 10

ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
Order deny,allow
Allow from all
</Proxy>
## Load Balancer url : https://myapp.abc.stg.asd:8443/
SSLProxyEngine on
ProxyPass / https://myapp.abc.stg.asd:8443/
ProxyPassReverse / https://myapp.abc.stg.asd:8443/

<Location />
Order allow,deny
Allow from all
</Location>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 120 minutes"
ExpiresByType image/jpeg "access plus 120 minutes"
ExpiresByType image/png "access plus 120 minutes"
ExpiresByType text/css "access plus 60 minutes"
ExpiresByType text/javascript "access plus 60 minutes"
ExpiresByType application/x-javascript "access plus 60 minutes"
ExpiresByType text/xml "access plus 60 minutes"
</IfModule>
</VirtualHost>

Por favor, corrija-me Se eu estiver errado em algum lugar. Qualquer ajuda seria apreciada . Obrigado ..!!

    
por ITSME 17.05.2015 / 11:33

1 resposta

2

Depois de muito estudo na Internet, consegui resolver o problema ontem. O problema parece estar no cache do DNS. Meu servidor apache não conseguiu resolver a entrada do DNS em caso de failover e estava usando a entrada DNS obsoleta e apontando para o nó que falhou. E quando eu reiniciar o servidor apache foi capaz de resolver a entrada DNS correta e funciona perfeitamente bem.Para se livrar de reiniciar para o servidor apache em caso de failover eu usei um parâmetro "disablereuse = On" com o parâmetro ProxyPass como abaixo: ProxyPass / https: // myapp.abc.stg.asd: 8443 / disablereuse = on Agora o apache está funcionando bem em caso de failover.

    
por 03.06.2015 / 14:16