我有一个连接到单个IP地址的单个ESXi 5服务器。 在这个服务器中,我创build了2个虚拟机:
a.site.com ) b.site.com ) 我不确定如何根据主机标题将stream量路由到正确的VM?
您需要在主机上(或者您将路由所有请求的虚拟机之一)放置一个反向代理,这将根据主机头在内部将请求转发给单个虚拟机。 这两个虚拟机必须可以从主机访问特定的IP地址或端口。
至于反向代理 – 一个选项是mod_proxy的 Apache, Nginx是一个轻量级的select。 根据这篇文章, nginx可以被configuration成一个基于Host值的反向代理。
(免责声明:我自己没有这样做。)
我已经用IBM HTTP Server(IHS)完成了这个工作,我不相信这是免费的,但是我最喜欢的一个反向代理的GPL版本是Pound( http://www.apsis.ch/pound/ )。 查看该页面上的“虚拟主机(一般)”部分。 我相信这是你正在寻找的。 下面是从该页面的configuration稍微调整的版本…
ListenHTTP Address 1.2.3.4 Port 80 Service HeadRequire "Host: .*a.site.com*" BackEnd Address 192.168.0.10 Port 80 End End Service HeadRequire "Host: .*b.site.com.*" BackEnd Address 192.168.0.10 Port 80 End End End