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 /