我有2个虚拟机,2个Apache。我只有一个公共IP。
是否可以用域名重定向到机器1或机器2,用相同的端口?
例如:我有2个虚拟机,有2个Apache,是否可以用域名重定向到1号机或2号机,用同一个端口?
domain a.com points to machine 1 (10.0.0.1)
domain b.com points to machine 2 (10.0.0.2)
可以,用反向代理。HAProxy是个不错的选择,配置如下
frontend fe
bind *:80
capture request hdr(host) len 255
use_backend a if { hdr(host) -i -m dom a.com }
use_backend b if { hdr(host) -i -m dom b.com }
default_backend invalid
backend a
server a 10.0.0.1:80
backend b
server b 10.0.0.2:80
backend invalid
http-response deny
如果你想支持SSL (TLS),而且你还没有在上游某个地方终止连接,那么HAProxy将需要拥有你的证书,这样它就可以终止连接并获得对主机名的访问;你必须配置这个,并添加 use_backend
规则的条件是 ssl_fc_sni
.