【发布时间】:2020-01-17 08:48:42
【问题描述】:
我们有:
2HaProxy 服务器,称为 Ha1、Ha2 3 个 Apache 服务器,称为 S1、S2、S3 2 个 Web 应用服务器,称为:App1、App2
所以,我需要将 2 个应用程序路由到同一个网络服务器
App1.com : Ha1 -> S1.App1.com
App1.com : Ha1 -> S2.App1.com
App1.com : Ha1 -> S3.App1.com
App2.com : Ha2 -> S1.App2.com
App2.com : Ha2 -> S2.App2.com
App2.com : Ha2 -> S3.App2.com
我正在使用 Keepalived,这工作正常,但路由仅从每个 Apache Web 服务器调用默认虚拟主机,例如:
S1 默认网络服务器是 S1.App1.com S2 默认网络服务器是 S2.App1.com S3 默认网络服务器是 S3.App1.com 因此,当我在等待 SX.App2.com 时,我调用 App2.com haproxy 路由到 SX.App1.com。如果服务器上的默认虚拟主机是 App2,那么现在不工作的是 App1.com
frontend APP2 App2.com:80
acl APP2 hdr_end(host) -i App2.com
use_backend APP2_1 if APP2
backend APP2_1
option httpclose
mode http
option httplog
balance static-rr
option httpchk
option forwardfor
server S1App2 S1.App2.com:80 weight 5 maxconn 1000 check
server S2App2 S2.App2.com:80 weight 5 maxconn 1000 check
server S3App2 S3.App2.com:80 weight 5 maxconn 1000 check
我正在使用 HAProxy 版本 1.5.4,发布于 2014/09/02
如果我通过 wget 从 haproxy 服务器调用到 S1.App2.com 工作正常,那么 S1、S2、S3 上的虚拟主机也可以。
你知道我如何将呼叫路由到特定虚拟主机而不是默认虚拟主机吗?
谢谢大家 问候!
【问题讨论】:
标签: apache routing backend haproxy vhosts