通过ISA发布服务器(二)

2.发布多个WEB网站:
看过岳老师的博客后大开眼界,写的很详细、深刻,我就不再过多赘述,直接转载岳老师的博客[url]http://yuelei.blog.51cto.com/202879/86828[/url]的第二部分:
拓扑图如下:

现在我们要加点难度了,这次的发布任务是发布多个站点,内网的Denver和Perth上都有Web站点需要发布。我们该如何处理呢?解决思路有两个,一是创建两个侦听器,分别监听ISA外网IP的不同端口。然后创建两个发布规则,一个发布Denver,另一个发布Perth,两个发布规则中分别调用两个侦听器;二是只用一个侦听器,创建两个发布规则分别发布Denver和Perth,两个发布规则依靠ISA的Web过滤能力进行区分。
考虑到如果创建两个侦听器,那外网用户访问其中一个网站时肯定要用到非标准的80端口,这并非一个好的选择,因此我们倾向于采用第二种方法。那现在我们就面临一个问题,当外网用户访问ISA外网IP的80端口时,我们怎么能区分出访问者是要访问Denver还是Perth呢?我们可以利用发布网站的公共名称来加以区分,例如我们可以规定Denver网站的公共名称是Denver.contoso.com,Perth网站的公共名称是Perth.contoso.com,这样根据外网用户访问域名的不同,我们就可以区分出外网用户访问的目标网站到底是谁。
我们看看具体该如何去做,首先我们要为Perth网站创建一条发布规则,考虑到这条发布规则和发布Denver的规则有类似之处,我们就使用简单些的办法,将Denver的发布规则复制过来,然后稍加修改即可。如下图所示,在右键单击Denver的发布规则,选择“复制”。

在Denver的发布规则上中单击右键,选择“粘贴”,即可复制Denver的发布规则,如下图所示,就是复制发布规则后的场景。

接下来我们要修改复制的发布规则,让它能够用于发布Perth站点。编辑“发布内网的Denver.contoso.com(1)”,如下图所示,切换到常规标签,将发布规则名称改为“发布内网的Perth.contoso.com”。

切换至发布规则的“到”标签,将发布的站点改为“perth.contoso.com”。

切换到发布规则的“公共名称”标签处,选择此规则应用到“以下网站的请求”,如下图所示,点击“添加”按钮,在公共名称对话框中输入perth.contoso.com。这样以后访问者必须用域名perth.contoso.com访问,才能和这条发布规则匹配。

这样Perth的发布规则就修改完成了,接下来对Denver的发布规则也要进行修改,我们对Denver的发布规则只修改公共名称一项。原先的公共名称是允许“任何请求”,这样的公共名称可以匹配任何访问请求,外网用户无论是访问Perth还是Denver都能和这条规则匹配上,这样一来其他的Web站点发布规则就等于无用了。因此我们要把Denver发布规则的公共名称改为Denver.contsoo.com,如下图所示。

修改后的发布规则如下图所示。

好了,万事俱备,只欠测试了,我们在Istanbul上开始测试,首先用IE访问Perth,如下图所示,访问成功了。

再来访问Denver,如下图所示,也成功了!

有的朋友可能会想,如果Istanbul用IP访问,会访问到哪个内网的网站呢?看看下图的访问结果,大家很可能会大吃一惊,为什么用IP访问会被ISA拒绝呢?因为目前两个发布规则的公共名称没有一个能和192.168.1.254匹配,因此ISA认为Istanbul的访问请求无法匹配任何一条发布规则,只能用默认规则进行拒绝。

如果我们希望用IP访问能够访问到Denver,那就修改Denver的发布规则,在发布规则的公共名称加上一条IP地址,如下图所示。

这次再用IP访问,由于IP地址可以和Denver发布规则中的公共名称匹配上,因此顺理成章地访问到了Denver,如下图所示。

总结:由此可见,ISA可以根据发布规则的公共名称对外网的访问请求进行Web过滤,功能远远强于一般路由器的端口映射发布单个站点非常简单。从实验过程来看,发布单个站点非常简单,发布多个网站只要注意用公共名称区分发布规则,其实也不难。但发布Web站点还有不少棘手的问题,我们在后续文章中继续讨论。

3.发布WEB服务器上的虚拟主机:

拓扑图如下:
首先在内网Perth上建好三个网站,由于第一个www已经建好,只需建test1和test2,如下图所示:
下面三幅图分别是[url]www.contoso.com[/url]、test1.contoso.com和test2.contoso.com的网页:

再分别为它们三个建网站,步骤如下,“开始——程序——管理工具——IIS管理器;右击网站——新建——网站”:


下一步。先来描述Test1(www的网站为默认网站,已经建好):

网站Test1的主机头:

网站路径:

建好Test1后,同理,再为Test2建网站:

建好后如下所示:

其次,在防火墙上将发布单个perth的网站属性更改一下,以满足后面的需要:


打开属性,找到公共名称,将perth.contoso.com改为[url]www.contoso.com[/url],另外添加上test1.contoso.com和test2.contoso.com,具体如下:

添加完公共名称后,选“到”选项卡,勾选“转发原始主机头而不是内部站点名称字段中指定的实际主机头”:

确定后,应用一下:

最后,在外网Istanbul上将三个虚拟主机的域名用Hosts文件进行解析:

然后,再分别访问三个虚拟主机站点:
没问题!试验成功。

下篇将会介绍发布安全WEB站点,敬请关注!

转载于:https://blog.51cto.com/shuangyang/121847

通过ISA发布服务器(二)相关推荐

  1. 在ISA Server 2004中发布×××服务器

    概要 ISA Server可以作为×××服务器使用,但是你可能会遇到需要发布内部网络中的其他×××服务器的情况.例如,已经有了正在工作的×××服务器或者你想安全发布它,或者只想让ISA Server作 ...

  2. Windows Server 2008终端服务详解系列5:用ISA 发布SH-TSG

    Windows Server 2008终端服务详解系列5:用ISA 发布SH-TSG 前言: 本系列将全面的介绍Windows Server 2008终端服务,从概念到功能,从安装到配置都会以通俗易懂 ...

  3. 开发环境运行正常,发布服务器后提示HTTP 错误 403.14 - Forbidden

    一.发布服务器后报错 今天在项目发布中遇到一件奇怪的事,开发完成的项目,发布到服务器上时 1. 发布到A服务器,一切正常 2. 发布到B服务器,提示403服务器错误 在同事电脑上重新打包发布代码,并发 ...

  4. 【Java】自建IOS应用(IPA)发布服务器

    简单描述一下总的过程:在某个后台上(版本发布平台)上传原始的ipa文件,解析ipa(主要是解析info.plist,从中获取软件名.版本.icons等:解析embedded.mobileprovisi ...

  5. 没有发布服务器的 rpc 安全信息,或该信息无效,SQLServer之创建分布式事务

    分布式事务创建注意事项 指定一个由 Transact-SQL 分布式事务处理协调器 (MS DTC) 管理的 Microsoft 分布式事务的起点. 执行 BEGIN DISTRIBUTED TRAN ...

  6. 文档订阅发布服务器,订阅服务器与发布服务器数据

    订阅服务器与发布服务器数据 SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用"革命"来形容这一次升级.SQ ...

  7. ISA Server服务器故障恢复一例系统盘符更换之后的应对方法

    周四下午的时候,某政府信息中心领导打电话告诉我,ISA Server服务器不能开机了.随后公司的技术员到达现场,经过检查,发现服务器显卡损坏.在更换显卡后,服务器可以开机,但却不能进入系统--服务器在 ...

  8. 发布服务器 bugzilla, streber 数据库备份方案

    发布服务器 bugzilla, streber 数据库备份方案 Bugzilla, Streber 目前均使用 MySQL 数据库. 备份的方法是将两个库导出为 sql 脚本,然后压缩为 zip 文件 ...

  9. 在DC中误删除ISA计算机后无法连接ISA配置服务器问题

    最近遇到一个问题,一个客户使用两台ISA服务器做了ISA阵列,但不小心人为的在DC中将其中一台ISA服务器的计算机帐户删除了,删除后又重新把ISA服务器重新加域,但发现重新加入的这台ISA服务器无法连 ...

最新文章

  1. Windows 2008 R2中的NAP新功能详解
  2. 怎么样MyEclipse配置Tomcat?
  3. 获取input数据_使用 PHP Masked Package 屏蔽敏感数据
  4. oracle 11.2.0.4 mos,【翻译自mos文章】在RHEL7 or OEL7上安装oracle 11.2.0.4 db时的
  5. Kubernetes初步了解及入门
  6. linux重命名的命令行操作,Linux rename命令批量重命名的方法
  7. java new thread参数_java线程池01-ThreadPoolExecutor构造方法参数的使用规则
  8. 详解 Too many open files
  9. C++ cin.sync()和cin.ignore()
  10. 数据结构(动态树):[国家集训队2012]tree(伍一鸣)
  11. 感觉越来越多的人开始向往农村生活,你怎么看?
  12. 拥抱开源四年的 .NET,现在怎么样了?
  13. java Hello World程序分析(翻译自Java Tutorials)
  14. stdio.h库函数
  15. 前富士康CEO程天纵:创新来自长尾,创业源于创客!
  16. pycharm下django实战
  17. Cisco Packet Tracer安装详解
  18. cdd matlab 算法,求翻译 CDD修复算法
  19. 玩客云安装linux系统的好处,玩客云armbian安装aria2+ariaNG过程记录
  20. 500左右高清音质游戏蓝牙耳机,百元级优质性能大牌平替蓝牙耳机

热门文章

  1. Docker 运行Tensorboard 和 jupyter的正确方法
  2. (二)CXF之用CXF官方工具生成客户端Client
  3. React Native三端融合在沪江的应用实践
  4. php模拟input 的file上传文件
  5. File Manipulation
  6. springMVC4(4)json与对象互转实例解析请求响应数据转换器
  7. 【细节实现题】LeetCode 8. String to Integer (atoi)
  8. 【有返回值的回溯】剑指offer——面试题67——机器人的运动范围(回溯法)
  9. 0% [正在连接 cn.archive.ubuntu.com (2001:67c:1562::19)]关于其连接不上的问题:
  10. Tensorflow 获取model中的变量列表,用于模型加载等