Web-Server
如何讓 HAProxy 後端包含路徑
使用 HAProxy 進行虛擬主機時,我可以看到如何使用前端標頭中的 Host 來決定要路由到哪個後端。但是,是否可以將後端設置為包含路徑的 URL(與設置虛擬主機時使用 apache 或 nginx 所做的不同)。
http://www.techrawr.com/tag/haproxy/ - 顯示了大部分內容。但是,如果後端在一台伺服器上,但使用 backend1 和 backend2 作為伺服器呢?
我認為您正在尋找這樣的東西,以便根據 URL 平衡到不同的伺服器:
frontend http-farm bind 0.0.0.0:80 acl app1web hdr_beg(host) -i app1 # for http://app1.domain.com acl app2web hdr_beg(host) -i app2 # for http://app2.domain.com acl msg-url-1 url_reg ^\/path/games/.* acl msg-url-2 url_reg ^\/path/photos/.* acl msg-url-3 url_reg ^\/path/mail/.* acl msg-url-4 url_reg ^\/path/wazap/.* use_backend games if msg-url-1 app1web use_backend photos if msg-url-2 app2web use_backend mail if ..... backend games option httpchk GET /alive.php HTTP/1.1\r\nHost:\ app1.domain.com option forwardfor balance roundrobin server appsrv-1 192.168.1.10:80 check inter 2000 fall 3 server appsrv-2 192.168.1.11:80 check inter 2000 fall 3 backend photos option httpchk GET /alive.php HTTP/1.1\r\nHost:\ app2.domain.com option forwardfor balance roundrobin server appsrv-1 192.168.1.13:80 check inter 2000 fall 3 server appsrv-2 192.168.1.14:80 check inter 2000 fall 3