设想情况:
OS centos
webserver apache http版本2.2.23
两个weblogic服务器集群
两个网络服务器
以上是硬件负载均衡器的后面。
基本上是想做url重定向和负载平衡(而不修改会话)的流量。
当我输入agent.abconline.com时,它应该被重定向到app服务器192.168.0.1:7001/代理staging.abconline.com应该被重定向到192.168.0.1;7001/分期
上面说我可以单独使用mod_rewrite,但是在尝试使用mod_proxy和负载平衡时,我无法被重定向到所述的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>发布于 2012-12-03 09:58:30
您没有将适当的/agent和/staging上下文添加到反向代理规则中,并且显然在返回时删除上下文。
RewriteRule / balancer://stagingcluster/staging%{REQUEST_URI} [P,QSA,L]
ProxyPassReverse / balancer://stagingcluster/staging
# Possibly also require a:
#ProxyHTMLURLMap balancer://stagingcluster/staging /https://stackoverflow.com/questions/13675536
复制相似问题