我的配置 HaProxy 有问题:
frontend http-in
bind 0.0.0.0:80
mode http
#option httplog
acl site1 hdr(host) -i http://XX.XX.XX.12/games/
acl site2 hdr(host) -i http://XX.XX.XX.12/videos/
use_backend backend1 if site1
use_backend backend2 if site2
backend backend1
mode http
option httpchk
option forwardfor except 127.0.0.1
server site1 10.11.12.10:80 maxconn 32
backend backend2
mode http
option httpchk
option forwardfor except 127.0.0.1
server site2 10.11.12.2:80 maxconn 32
你能帮助我吗?我认为我遇到了问题,if
因为当我仅使用 IP 测试时,系统可以正常运行。
答案1
我认为您的问题在于 ACL 中使用了 hdr(host)。您可以尝试使用路径选项,它应该可以工作。
acl site1 path /games
use_backend backend1 if site1
acl site2 path /videos
use_backend backend2 if site2