szx*_*nyc 4 apache http httpd.conf httpserver
使用 Apache HTTP Server,如何对所有 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>
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
阿帕奇错误日志:
[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.
Run Code Online (Sandbox Code Playgroud)
ProxyPass / .... 足以代理所有内容,但请确保匹配斜杠,指定“balancer://mycluster”是不正确的,并且您需要来回匹配斜杠,因此如果您的源以斜杠结尾,则目标也以斜杠结尾以斜杠结尾,加上在这种情况下,balancer://mycluster 实际上是balancer://mycluster/
ProxyPass / balancer://mycluster/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1274 次 |
| 最近记录: |