如果工作人员只有不同的path,而不是主机,如何configuration在Apache HTTPD的负载平衡?
例如我有公共URL http://www.example.com/myapp ,这应该是负载平衡内部域http://internal.domain.com/myapp1和http://internal.domain.com/myapp2 (相同的主机,不同的path)
更新:问题是,以下configuration(我通常使用)不允许在一个内部主机上的不同path,它适用于每个内部主机有一个上下文/ myapp运行。
ProxyPass /myapp balancer://workers/myapp ProxyPassReverse /myapp balancer://workers/myapp <Proxy balancer://workers> BalancerMember http://internal1.domain.com BalancerMember http://internal2.domain.com </Proxy>
我发现没有办法映射/ myapp
internal1.domain.com/myapp1 internal1.domain.com/myapp2 internal2.domain.com/myapp1 internal2.domain.com/myapp2
看来你将不得不通过mod_rewrite运行的URL。 所以你需要,例如,
Listen localhost:8180 Listen localhost:8181 <Proxy balancer://workers> BalancerMember http://localhost:8180 BalancerMember http://localhost:8181 </Proxy> <VirtualHost localhost:8180> RewriteEngine On RewriteRule ^/myapp(.*)$ http://internal.domain.com/myapp1$1 [P] <VirtualHost> <VirtualHost localhost:8181> RewriteEngine On RewriteRule ^/myapp(.*)$ http://internal.domain.com/myapp2$1 [P] <VirtualHost>
或者像这样疯狂的东西。