我希望在某些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和主机吗? 或者一个后端可以根据某些条件进行多次重写吗?
答案 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