【发布时间】:2016-02-23 22:38:07
【问题描述】:
我已经安装了 apache httpd 服务并尝试设置负载平衡。 我想在特定条件下重写请求 - 当 Host 标头为“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
它不工作:( 请帮我找出这个配置的缺陷在哪里。
附:我已经加载了模块:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
【问题讨论】:
-
你观察到了什么?为什么不使用虚拟主机并完全省略重写?
标签: apache mod-rewrite load-balancing httpd.conf mod-proxy