Mapping 使HAProxy将请求转发到主机名而不是IP地址。
我在一个IP地址上有3个虚拟主机。主机a、主机b和主机c都映射到192.168.1.10 我的HAProxy配置如下:Mapping 使HAProxy将请求转发到主机名而不是IP地址。,mapping,haproxy,Mapping,Haproxy,我在一个IP地址上有3个虚拟主机。主机a、主机b和主机c都映射到192.168.1.10 我的HAProxy配置如下: frontend http . . . acl host_one path_end -i /ABC/application acl host_two path_end -i /XYZ/application acl host_three path_end -i /PQR/application use_backend be_host1 if host_on
frontend http
.
.
.
acl host_one path_end -i /ABC/application
acl host_two path_end -i /XYZ/application
acl host_three path_end -i /PQR/application
use_backend be_host1 if host_one
use_backend be_host2 if host_two
use_backend be_host3 if host_three
backend be_host1
server channel Host_a
backend be_host2
server channel Host_b
backend be_host3
server channel Host_c
现在,例如,HAproxy将请求转发到
192.168.1.10/ABC/application
,以防它匹配以/ABC/application
结尾的传入URL。是否有办法将其转发到http://Host_a/ABC/application
?他们使用主机名而不是相应的IP地址对我来说很重要。主机名是HTTP请求的一部分,这意味着您可以使用HAProxy选项requirep
将其设置为您想要的任何内容
reqirep ^Host: Host:\ Host_a
您可以在所有三个后端中使用这种类型的选项。谢谢Matt。我终于明白了。另一件我必须改变的事情是:{backend bc_host1 server host_a 192.162.1.10}