从一个平衡器成员获取代理平衡器中的部分URL

时间:2013-10-30 10:48:37

标签: apache2 rewrite mod-proxy mod-proxy-balancer

我有Apache服务器的集群设置。在这之后我有2个Jboss实例,由apache负载平衡。

配置看起来有点像下面的

   <VirtualHost *:1111>
    ServerAdmin admin@example.com
    ServerName www.example.com

    DocumentRoot "/apps"
    ErrorLog "logs/https.www.example.com.-error_log"
    TransferLog "logs/https.www.example.com-access_log"
    LogLevel warn


    <Directory "/apps">
            Options -Indexes +FollowSymLinks
            AllowOverride None
            Order allow,deny
            Allow from all
    </Directory>


    SSLProxyEngine On
    SSLProxyVerify On


    SSLProxyMachineCertificateFile "/apps/apache/conf/ssl/int/proxy.pem"
    SSLProxyCACertificateFile "/apps/apache/conf/ssl/int/cert.pem"


    RewriteEngine On

    Header set Cache-Control "max-age=60, public"

   <Proxy balancer://2node-aa>

            BalancerMember https://app01:8089 route=node1
            BalancerMember https://app02:8089 route=node2

    ProxyPreserveHost On

    ProxyPass /aa balancer://2node/aa stickysession=JSESSIONID|jsessionid
    ProxyPass /static balancer://2node/static stickysession=JSESSIONID|jsessionid

    ProxyPassReverse /aa balancer://2node/aa
    ProxyPassReverse /static balancer://2node/static



    ProxyPass /1/aa https://app01:8089/aa
    ProxyPass /2/aa https://app02:8089/aa

    ProxyPassReverse /1/aa https://app01:8089/aa
    ProxyPassReverse /2/aa https://app02:8089/aa

    ProxyPass /bb  balancer://2node/rest stickysession=JSESSIONID|jsessionid
    ProxyPassReverse /bb balancer://2node/bb

    </VirtualHost>

在url访问url的某些部分,我希望它从第二个节点,即jboss的node2路由。

e.g。如果我正在访问http://www.example.com/aa/login/login.jsp,我需要此请求仅由node2 app02处理。

其余请求应将负载平衡为正常访问。 我如何设置apache来做它?

我已经尝试了很多rewrite<Location>ProxyPassMatch到目前为止还没有。

请帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我在配置文件中使用了以下语句来解决问题。

<Proxy balancer://2node-aa>

BalancerMember https://app02:8080 route=node2

</Proxy>

RewriteRule ^/aa/login/(.*)$ balancer://2node-aa%{REQUEST_URI} [P,QSA,L]

此链接可以帮助我。

apache httpd mod_proxy load balancing with multiple virtual hosts url redirection

-Thanks