使用RewriteCond的Apache负载平衡不起作用?

时间:2016-02-23 14:16:37

标签: apache mod-rewrite load-balancing httpd.conf mod-proxy

我已经安装了apache httpd服务并尝试设置负载均衡。 我想在特定条件下重写请求 - 当主机头是“images.server.com”时,我想重写请求,将“/ images /”添加到URI,然后将其代理到我的上游服务器。 mod_proxy模块非常适合任务:https://httpd.apache.org/docs/current/rewrite/proxy.html 嗯,不太好 - 我的设置如下:

    <Proxy balancer://mycluster>
      BalancerMember http://xxx.xx.xx.xx:8080
    </Proxy>
    ProxyPreserveHost On
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ="images.server.com"
    RewriteRule "/(.*)" "/images/%1" [P]
    ProxyPass /images balancer://mycluster/images

并且它无法正常工作:( 请帮我弄清楚这个配置中的缺陷在哪里。

P.S。我已经加载了模块:

    LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule proxy_module modules/mod_proxy.so

1 个答案:

答案 0 :(得分:0)

不要同时使用&#39; P&#39;标志和ProxyPass。如果你打算使用&#39; P&#39; flag,在替换中使用balancer:// ...并完全删除ProxyPass。

相关问题