Mod rewrite 使用多个虚拟主机url重定向的apache httpd mod_代理负载平衡

Mod rewrite 使用多个虚拟主机url重定向的apache httpd mod_代理负载平衡,mod-rewrite,weblogic,load-balancing,mod-proxy,Mod Rewrite,Weblogic,Load Balancing,Mod Proxy,场景: 操作系统centos Web服务器apache http版本2.2.23 两台weblogic服务器群集 两个Web服务器 上面是一个硬件负载平衡器的后面 基本上想做url重定向和负载平衡(不修改会话)的流量 当我键入agent.abconline.com时,它应该被重定向到app server 192.168.0.1:7001/agent staging.abconline.com应重定向至192.168.0.1;7001/分期付款 如上所述,我可以单独使用mod_重写,但在尝试使用m

场景:
操作系统centos
Web服务器apache http版本2.2.23
两台weblogic服务器群集
两个Web服务器

上面是一个硬件负载平衡器的后面

基本上想做url重定向和负载平衡(不修改会话)的流量

当我键入agent.abconline.com时,它应该被重定向到app server 192.168.0.1:7001/agent staging.abconline.com应重定向至192.168.0.1;7001/分期付款

如上所述,我可以单独使用mod_重写,但在尝试使用mod_代理和负载平衡时,我无法重定向到上述URL

以下是配置

NameVirtualHost *:80
<VirtualHost *:80>
        ServerName agent.abconline.com
        RewriteEngine On

        <Proxy balancer://agentcluster>
         BalancerMember http://192.168.0.1:7003 route=1 loadfactor=50 retry=60
         BalancerMember http://192.168.0.2:7003 route=1 loadfactor=50 retry=60
        </Proxy>

        # Redirect all non-static requests to agent
        RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
        RewriteRule ^/(.*)$ balancer://agentcluster%{REQUEST_URI} [P,QSA,L]

        ProxyPass /abc-oper balancer://agentcluster/abc-oper
        ProxyPassReverse /abc-oper balancer://agentcluster/abc-oper
        ProxyPreserveHost on

        SetEnv force-proxy-request-1.0 1
        SetEnv proxy-nokeepalive 1

        <Proxy *>
         Order deny,allow
         Allow from all
        </Proxy>

        ErrorLog /apps/apache/logs/agent.abconline.com.error.log
        CustomLog /apps/apache/logs/agent.abconline.com.access.log combined
        LogLevel debug
</VirtualHost>

<VirtualHost *:80>
        ServerName staging.abconline.com
        RewriteEngine On

        <Proxy balancer://stagingcluster>
         BalancerMember http://192.168.0.1:7003 route=1 loadfactor=50 retry=60
         BalancerMember http://192.168.0.2:7003 route=1 loadfactor=50 retry=60
        </Proxy>

        # Redirect all non-static requests to agent
        RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
        RewriteRule ^/(.*)$ balancer://stagingcluster%{REQUEST_URI} [P,QSA,L]

        ProxyPass /abc-oper balancer://stagingcluster/abc-oper
        ProxyPassReverse /abc-oper balancer://stagingcluster/abc-oper
        ProxyPreserveHost on

        SetEnv force-proxy-request-1.0 1
        SetEnv proxy-nokeepalive 1

        <Proxy *>
         Order deny,allow
         Allow from all
        </Proxy>

        ErrorLog /apps/apache/logs/staging.abconline.com.error.log
        CustomLog /apps/apache/logs/staging.abconline.com.access.log combined
        LogLevel debug
</VirtualHost>
NameVirtualHost*:80
ServerName agent.abconline.com
重新启动发动机
平衡员http://192.168.0.1:7003 路由=1负载系数=50重试=60
平衡员http://192.168.0.2:7003 路由=1负载系数=50重试=60
#将所有非静态请求重定向到代理
重写cond%{DOCUMENT\u ROOT}/%{REQUEST\u FILENAME}-F
重写规则^/(.*)$balancer://agentcluster%{REQUEST_URI}[P,QSA,L]
代理通行证/abc操作balancer://agentcluster/abc-oper
ProxyPassReverse/abc操作balancer://agentcluster/abc-oper
代理主机
SetEnv force-proxy-request-1.0 1
SetEnv代理nokeepalive 1
命令拒绝,允许
通融
ErrorLog/apps/apache/logs/agent.abconline.com.error.log
CustomLog/apps/apache/logs/agent.abconline.com.access.log组合
日志级调试
ServerName staging.abconline.com
重新启动发动机
平衡员http://192.168.0.1:7003 路由=1负载系数=50重试=60
平衡员http://192.168.0.2:7003 路由=1负载系数=50重试=60
#将所有非静态请求重定向到代理
重写cond%{DOCUMENT\u ROOT}/%{REQUEST\u FILENAME}-F
重写规则^/(.*)$balancer://stagingcluster%{REQUEST_URI}[P,QSA,L]
代理通行证/abc操作balancer://stagingcluster/abc-oper
ProxyPassReverse/abc操作balancer://stagingcluster/abc-oper
代理主机
SetEnv force-proxy-request-1.0 1
SetEnv代理nokeepalive 1
命令拒绝,允许
通融
ErrorLog/apps/apache/logs/staging.abconline.com.error.log
CustomLog/apps/apache/logs/staging.abconline.com.access.log组合
日志级调试

您没有将适当的/agent/staging上下文添加到反向代理规则中,并且显然在退出的过程中删除了上下文,例如

RewriteRule      / balancer://stagingcluster/staging%{REQUEST_URI} [P,QSA,L]
ProxyPassReverse / balancer://stagingcluster/staging


# Possibly also require a:
#ProxyHTMLURLMap balancer://stagingcluster/staging   /