Haproxy多次重写相同的背景

时间:2014-09-05 08:35:32

标签: iis rewrite acl haproxy

我希望在某些iis服务器前面有一个haproxy。

我的问题是在iis服务器上我有三个应用程序 app1.domain.com
app2.domain.com
app3.domain.com

在前端。我不想显示子域名。

所以我想写下:
www.domain.com/app1
www.domain.com/app2
www.domain.com/app3

在后端我想更改主机和网址以匹配每个应用程序。

我知道如何重写所有这些,但这需要复制haproxy上多个支持部分中的所有真实服务器。

所以我的问题是:在选择后端之前,我可以重写URL和主机吗? 或者一个后端可以根据某些条件进行多次重写吗?

1 个答案:

答案 0 :(得分:0)

如果它们是不同的后端,为什么不想为它们创建不同的规则?即使应用程序非常相似,您的后端也总是有不同的配置。 HAProxy意味着是轻量级的,所以如果你试图在你的重写中编写不可行的变量。

我的配置看起来像这样:

acl domain hdr_dom(host) -i www.domain.com

acl app1 path_beg /app1
acl app2 path_beg /app2
acl app3 path_beg /app3

use_backend backend_app1 if app1 domain
use_backend backend_app2 if app2 domain
use_backend backend_app3 if app3 domain

backend backend_app1
    reqrep ^([^\ ]*)\ /app1before    \1\ /app1after
    server server_app1 app1.domain.com
backend backend_app2
    reqrep ^([^\ ]*)\ /app2before    \1\ /app2after
    server server_app2 app2.domain.com
backend backend_app3
    reqrep ^([^\ ]*)\ /app3before    \1\ /app3after
    server server_app3 app3.domain.com