Load-Balancing

Haproxy:如何平衡目錄內的流量?

  • January 21, 2015

我想知道是否有辦法使用 haproxy 來平衡目錄內的流量。

我有 haproxy 將所有 HTTP 流量平衡到server1& server2。我想要的是平衡所有images目錄請求server1

例如

url: http://www.domain.com/images/image_one.jpg
url: http://www.domain.com/images/image_two.jpg
url: http://www.domain.com/images/image_three.jpg

所有這些請求都必鬚髮送到 server1。

你可以聲明一個acl然後做一個條件use_backend語句。像這樣:

frontend a-frontend-conf

   # Declare an ACL using path_beg (Path Begins)
   acl path_images path_beg /images

   # Use backend server1 if acl condition path_images is fulfilled
   use_backend server1 if path_images

backend server1
   [...]

另一種方法,假設您已經為server1&定義了一個後端server2,將在後端進行靜態伺服器選擇,因此:

frontend a-frontend-conf

   # Declare an ACL using the 'Host' header
   acl host_domain hdr(host) -i www.domain.com
   # Use backend 'farm' if acl condition host_domain is fulfilled
   use_backend farm if host_domain 

backend farm
   acl path_images path_beg /images
   use-server server1 if path_images
   server server1 1.1.1.1:80 
   server server2 2.2.2.2:80

引用自:https://serverfault.com/questions/659793