关于HAProxy reqrep的真正快速问题。我正在尝试重写/替换发送到后端的请求。
我有以下示例域和URI,它们共享相同的域名,但后端Web服务器池不同。
http://domain/web1
http://domain/web2
我希望将web1转到后端webfarm1,并将web2转到webfarm2。目前确实如此。但是,当请求发送到后端时,我想剥离web1或web2 URI。
这是我的haproxy.cfg
frontend webVIP_80
mode http
bind :80
#acl routing to backend
acl web1_path path_beg /web1
acl web2_path path_beg /web2
#which backend
use_backend webfarm1 if web1_path
use_backend webfarm2 if web2_path
default_backend webfarm1
backend webfarm1
mode http
reqrep ^([^\ ]*)\ /web1/(.*) \1\ /\2
balance roundrobin
option httpchk HEAD /index HTTP/1.1\r\nHost:\ example.com
server webtest1 10.0.0.10:80 weight 5 check slowstart 5000ms
server webtest2 10.0.0.20:80 weight 5 check slowstart 5000ms
backend webfarm2
mode http
reqrep ^([^\ ]*)\ /web2/(.*) \1\ /\2
balance roundrobin
option httpchk HEAD /index HTTP/1.1\r\nHost:\ example.com
server webtest1-farm2 10.0.0.110:80 weight 5 check slowstart 5000ms
server webtest2-farm2 10.0.0.120:80 weight 5 check slowstart 5000ms
如果我转到错误日志中,http://domain/web1
或者http://domain/web2
我在错误日志中看到它,则每个后端中服务器上的请求分别是针对资源/ web1或/ web2的。因此,即使我从文档中复制并粘贴了正则表达式,我也认为它存在问题。http://code.google.com/p/haproxy-docs/wiki/reqrep
摘要:我正在尝试根据URI路由流量,但是我希望HAProxy在将请求发送到后端池时剥离URI。
谢谢!
-吉姆
现在有一个编辑和评论按钮。
—
克里斯·S
吉姆,您在评论时遇到了问题,因为您使用的帐户与创建该问题时所用的帐户不同。请尝试保持您的登录帐户一致,以免将来发生这种情况。我已标记一位主持人来解决此问题。
—
MDMarra 2012年