首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用多个虚拟主机url重定向的apache mod_proxy负载平衡

使用多个虚拟主机url重定向的apache mod_proxy负载平衡
EN

Stack Overflow用户
提问于 2012-12-03 00:19:38
回答 1查看 7.2K关注 0票数 3

设想情况:

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

下面是配置

代码语言:javascript
复制
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>
EN

回答 1

Stack Overflow用户

发布于 2012-12-03 09:58:30

您没有将适当的/agent/staging上下文添加到反向代理规则中,并且显然在返回时删除上下文。

代码语言:javascript
复制
RewriteRule      / balancer://stagingcluster/staging%{REQUEST_URI} [P,QSA,L]
ProxyPassReverse / balancer://stagingcluster/staging


# Possibly also require a:
#ProxyHTMLURLMap balancer://stagingcluster/staging   /
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13675536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档