[英]How to retrieve request URI in Apache virtual host configuration file on Redhat?
我在/etc/httpd/conf.d
下创建了一个Httpd虚拟主机配置文件,以在2台服务器之间实现负载平衡。 我的配置如下所示:
<VirtualHost *:8086>
ProxyRequests off
ServerName domain.com
<Proxy balancer://mycluster>
BalancerMember http://example1.com/b
BalancerMember http://example2.com/b
Allow from all
ProxySet lbmethod=byrequests
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
ProxyPass /balancer-manager !
ProxyPass /a/b balancer://mycluster/
</VirtualHost>
如果您看到上述配置,则说明我正在通过URL domain.com:8086/a/b
访问负载均衡器。 我的要求是,当请求以domain.com:8086/a/b/c/d
出现时,其中c,d是动态值,我想将它们附加到我的BalancerMembers中。 即,它必须在http://example1.com/b/c/d
和http://example2.com/b/c/d
之间进行负载平衡。 我该怎么做呢?
始终将斜杠与目标匹配:
ProxyPass /a/b/ balancer://mycluster/
如果目标是balancer:// mycluster,则始终需要添加尾部斜杠,因为它实际上是balancer:// mycluster /,如果这是您的目标,则也需要在原点中添加尾部斜杠,因此ProxyPass / a / b /。 如果您不这样做,则会遇到将不正确的uri分配到后端的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.