应用程序故障转移不能在apache 2.2 Web服务器上配置BIG IP(f5)负载均衡器

时间:2015-05-17 06:52:20

标签: apache jboss webserver load-balancing f5

我在群集配置中在JBOSS 5.2应用服务器前使用Apache 2.2。群集配置的两个节点驻留在不同的主机上。此配置托管在Linux服务器上。

在此配置中,我使用的是BIG IP(F5)负载均衡器,它位于Web服务器和Jboss应用程序服务器之间。

如果其中一个应用程序服务器发生故障转移,则负载平衡正常,并且正在将请求从群集的一个节点路由到另一个节点。但是我的apache web服务器无法将请求路由到集群的工作节点,并且提供了所请求的应用程序服务器无法获取的错误。但是,当我重新启动apache服务器时,它似乎工作正常,我可以访问该应用程序。

似乎apache正在缓存应用程序服务器url,并且当我在发生故障转移后尝试访问Web服务器URL时,缓存未刷新。

以下是我正在使用的httpd.conf配置:

<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>

如果我错了,请纠正我。任何帮助,将不胜感激 。 谢谢 ..!!

1 个答案:

答案 0 :(得分:0)

经过大量的互联网研究,我昨天能够解决这个问题。问题似乎与DNS缓存有关。在发生故障转移时,我的apache服务器无法解析DNS条目,并且它正在使用陈旧的DNS条目并指向已失败的节点。当我重新启动apache服务器时,它能够解析正确的DNS条目并且工作得很好。为了在故障转移的情况下摆脱重启到apache服务器,我使用了一个参数“disablereuse = On” 与ProxyPass参数一起如下: ProxyPass / https:// myapp.abc.stg.asd:8443 / disablereuse = on 现在,apache在故障转移时工作正常。