Apache ProxyPass 负载平衡所有 URL 的

Apache ProxyPass Load Balance ALL URL's

使用 Apache HTTP 服务器,我如何负载平衡所有 URL,而不仅仅是根目录“/”或根目录下的一些子目录,如“/css”,但绝对是一切平衡后端?

我的配置只会路由字面根 URL“/”,但其他 URL 未被覆盖,我需要使用正则表达式吗?

相关配置:

<Proxy balancer://mycluster>
    BalancerMember https://server1:8443
    BalancerMember https://server2:8443
    ProxySet lbmethod=byrequests
</Proxy>

<VirtualHost _default_:443>
    SSLProxyEngine on
    ProxyPass "/" "balancer://mycluster"
    ProxyPassReverse "/" "balancer://mycluster"
</VirtualHost>

Apache access_log(通知/css 收到 500 响应):

172.18.0.1 - - [10/May/2017:20:22:55 +0000] "GET / HTTP/1.1" 200 196
172.18.0.1 - - [10/May/2017:20:22:58 +0000] "GET /css HTTP/1.1" 500 528

阿帕奇 error_log:

[Wed May 10 20:22:58.607433 2017] [proxy:warn] [pid 9:tid 140682836559616] [client 172.18.0.1:35304] AH01144: No protocol handler was valid for the URL /css. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

ProxyPass / ....足以代理所有内容,但请确保您匹配斜杠,指定 "balancer://mycluster" 是不正确的,并且您需要来回匹配斜杠,所以如果您的来源以斜杠结尾目标也以斜杠结尾,加上在这种情况下 balancer://mycluster 实际上是 balancer://mycluster/

ProxyPass / balancer://mycluster/