发布Web服务器上的虚拟主机:ISA2006系列之十一

如何处理虚拟主机的发布
在上一篇博文中,我们讨论了如何利用 ISA2006 发布内网的多个 Web 站点,这些 Web 站点分布在不同的 Web 服务器上,我们只要用发布规则中的公共名称加以区分就可以了。今天我们要把难度再加大一些,如果一台 Web 服务器上有虚拟主机,这些虚拟主机该如何发布呢?
其实发布这些虚拟主机也不难,我们知道 IIS 实现虚拟主机有三种方法, IP ,端口和主机头,一般在工作中大都采用主机头区分虚拟主机。既然如此,那在发布虚拟主机时,我们就可以依靠访问者提交的主机头来匹配发布规则,恰好 ISA 又有转发原始主机头的功能,这下子问题就全都解决了。
举个例子来说明,实验拓扑和上篇博文中一样, Denver Perth 是内网的两台 Web 服务器。现在 Denver 上有两个网站,分别是 [url]www.contoso.com[/url] mail.contoso.com ,我们的目标就是把这两个虚拟主机发布到外网。这个目标实现起来并不难,在 ISA 上为 Denver 的两个网站各自创建一条发布规则,两条发布规则依靠公共名称区分两个网站,然后 ISA 启用转发原始主机头功能,这样就一切 OK 了。当外网访问 [url]www.contoso.com[/url] 时, ISA 根据访问域名匹配发布规则,然后按照发布规则的要求将原始主机头 [url]www.contoso.com[/url]转发给 Denver Denver 根据转发来的原始主机头就可以判断出访问者要访问哪个虚拟主机,然后将目标网站的内容返回给访问者。
 
实验步骤如下:
  准备虚拟主机
Denver 上准备好两个虚拟主机,如下图所示,我们在 Denver IIS 中看到了两个网站, www mail
 
两个网站的主机头分别是 mail.contoso.com [url]www.contoso.com[/url] 。,如下图所示。
 


用浏览器访问,两个网站都访问正常,如下图所示。
 
OK ,实验用的虚拟主机已经准备好了!
 
ISA 上创建访问规则
上篇博文中我们在 ISA 上创建了两条发布规则,这次实验我们只要把发布规则复制一下再稍作修改就可以了。如下图所示,我们在发布 denver.contoso.com 的规则上点击右键,选择“复制”。
 
然后在发布规则上点击右键,如下图所示,选择“粘贴”。
 
这样我们就有了两条发布规则,我们只要修改这两条规则就可以满足发布虚拟主机的需求。
 
首先修改第一条发布规则,我们要利用这条规则发布 denver 上的 [url]www.contoso.com[/url] ,如下图所示,在规则属性的常规标签中,修改规则的名称为“发布内网的 [url]www.contoso.com[/url] ”。
 
切换到规则属性的“公共名称”标签,编辑原有的公共名称 denver.contoso.com ,如下图所示,把公共名称修改为 [url]www.contoso.com[/url]。
 
切换至规则属性的“到”标签,如下图所示,勾选“转发原始主机头而不是内部站点名称字段中指定的实际主机头”,这是关键之处,它要求 ISA 将访问者的原始主机头转发给 Web 服务器, Web 服务器正式凭借原始主机头才能判断出访问目标是哪个虚拟主机。
 
好了,为发布[url]www.contoso.com[/url] 而修改的规则已经完成,接下来我们要修改第二条发布规则,让它能够发布 mail.contoso.com 。如下图所示,在第二条发布规则属性的“常规”标签中,修改规则名称为“发布内网的 mail.contoso.com ”。
 
切换到规则属性的“公共名称”标签,编辑原有的公共名称 denver.contoso.com ,如下图所示,把公共名称改为 mail.contoso.com
 
切换到规则属性的“到”标签,勾选“转发原始主机头而不是内部站点名称字段中指定的实际主机头”。
 
修改后的发布规则如下图所示。
 
在客户机上测试
ISA 上做好发布规则后,我们在 Istanbul 上测试一下,首先 Istanbul 仍然是利用简单的 Hosts 文件进行域名解析,解析结果如下图所示。
 
测试一下,先访问 [url]www.contoso.com[/url] ,如下图所示,非常理想。
 
再来测试一下 mail.contoso.com ,如下图所示,一切正常, OK ,实验成功!
 
做了这么多工作,其实发布虚拟主机关键之处就是要在 ISA 上转发原始主机头,掌握了这点,就基本上能够掌控全局了!

你可能感兴趣的:(职场,虚拟主机,休闲,ISA2006,原始主机头)