我想将请求从 server/splunk 转发到 server:8000 上正在运行的 splunk 应用程序。如果没有 haproxy,如果我直接在端口 8000 上访问 splunk,我会得到以下重写的目的地:
服务器:8000/en-US/account/login?return_to=%2Fen-US%2F
在这里我可以登录,一切正常。但是,使用以下 haproxy 配置,我最终得到以下目的地,即 404:
服务器/en-US
真正令人困惑的是,这个 404 错误是由以下 http 服务器报告的,不是splunk。这是在 5001 上监听的 default_backend Apache 服务器,如配置中所示。
Apache/2.2.15 (CentOS) Server at theserver.example.com Port 80
这是我的配置:
frontend main 192.168.1.5:80
acl url_static path_beg /splunk
use_backend static if url_static
default_backend app
backend static
reqrep ^([^\ ]*\ /)splunk[/]?(.*) \1\2
server static 192.168.1.5:8000 check
backend app
balance roundrobin
server app1 127.0.0.1:5001 check