2014-09-05 72 views
0

我想在某些iis服務器前安裝haproxy。Haproxy在同一backen上多次重寫

我的問題是,在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

如果他們是不同的後端爲什麼你不想爲他們創建不同的規則?即使應用程序非常相似,您的後端總會有不同的配置。 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