浅谈IIS7.0 架构(1)

  •   2009-07-28/10:28
  • IIS是Internet Information Server的缩写,它是微软公司主推的WEB服务器,现在用户一般常用的版本是Windows2003里面包含的IIS 6或者是更早的IIS 5,IIS与Window NT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大、灵活而安全的Internet和Intranet站点。IIS支持ISAPI,使用ISAPI可以扩展服务器功能, IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP、FTP和SMTP,它能够提供快速且集成了现有产品,同时可扩展的Internet服务器。

    新的IIS7在Windows Server2008中加入了更多的安全方面的设计,用户现在可以通过微软的.Net语言来运行服务器端的应用程序。除此之外,通过IIS7新的特性来创建模块将会减少代码在系统中的运行次数,将遭受黑客脚本攻击的可能性降至最低。从安全的观点来考虑,这是IIS所涉及的一个新领域。 如此多的新特性,让我们对Windows Server2008中的IIS7充满了渴望,下面就让我们一起看看IIS中五个最为核心的增强特性:

    完全模块化的IIS

    如果你非常熟悉流行的Apache Web server软件,那么你会知道它最大的优势就在于它的定制化,你可以把它配置为只能显示静态的HTML,也可以动态的加载不同的模块以允许不同类型的服务内容。而现在使用的IIS却无法很好的实现这一特性,这样就造成了两方面的问题:其一,由于过多用户并未使用的特性对于代码的影响,性能方面有时不能让用户满意;第二,由于默认的接口过多所造成的安全隐患。

    新的IIS7则完全解决了这个问题,IIS7从核心层讲被分割成了40多个不同功能的模块。像验证、缓存、静态页面处理和目录列表等功能全部被模块化。这意味着你的Web服务器可以按照你的运行需要来安装相应的功能模块。可能存在安全隐患和不需要的模块将不会再加载到内存中去,程序的受攻击面减小了,同时性能方面也得到了增强。

    通过文本文件配置的IIS7

    IIS7另一大特性就是管理工具使用了新的分布式web.config配置系统。IIS7不再拥有单一的metabase 配置储存,而将使用和ASP.NET支持的同样的web.config文件模型,这样就允许用户把配置和web应用的内容一起存储和部署,无论有多少站点,用户都可以通过web.config文件直接配置,这样当公司需要挂接大量的网站时,可能只需要很短的时间,因为管理员只需要拷贝之前做好的任意一个站点的web.config文件,然后把设置和web应用一起传送到远程服务器上就完成了,没必要再写管理脚本来定制配置了。

    同时管理工具支持“委派管理(delegated administration)”,用户可以将一些可以确定的web.config文件通过委派的方式,委派给企业中其他的员工,当然在这种情形下,管理工具里显示的只是客户自己网站的设置,而不是整个机器的设置,这样IIS管理员就不用为站点的每一个微小变化而费心,版本控制同样简单,用户只需要在组织中保留不同版本的文本文件,然后在必要的时候恢复它们就可以了。

    微软的产品向来以用户界面友好引以为豪,然而作为为IT人士设计的IIS7服务器这一点却好像并不明显,回想从IIS 4 到IIS 6 ,提供给用户的管理控制台操作起来并不十分方便,而且由于技术等原因的限制,用户很难通过一个统一的界面来实现全部的管理工作。

                                           MMC 图形模式管理工具

    而在新的IIS 7中,这一问题得到了明显的改观,用户现在可以用管理工具在Windows客户机器上创建和管理任意数目的网站。而不再局限于单个网站,同时相比IIS之前的版本,IIS7的管理界面也更加的友好和强大,此外IIS7的管理工具是用.NET和Windows Forms写成的,是可以被扩展的。这意味着用户可以添加自己的UI模块到管理工具里,为自己的HTTP 运行时模块和配置设置提供管理支持。

    IIS 7安全方面的增强

    安全问题永远是微软被攻击的重中之重,其实并非微软对安全漠不关心,实在是因为微软这艘巨型战舰过于庞大,难免百密一失,好在微软积极的响应着每一个安全方面的意见与建议。IIS的安全问题则主要集中在有关.NET程序的有效管理以及权限管理方面的问题。而IIS 7正是针对IIS 服务器遇到了安全问题做了相应的增强。

    在新版本中IIS 和ASP.NET 管理设置集成到了单个管理工具里。这样,用户就可以在一个地方查看和设置认证和授权规则,而不是像以前那样要通过多个不同的对话框来做。这给管理人员提供了一个更加一致和清晰的用户界面,以及web平台上统一的管理体验。

    在IIS7中,.NET应用程序直接通过IIS代码运行而不再发送到Internet Server API扩展上,这样就减少了可能存在的风险,并且提升了性能,同时管理工具内置对ASP.NET 3.0的成员和角色管理系统提供管理界面的支持。这意味着用户可以在管理工具里,创建和管理角色和用户,以及给用户指定角色,下面是IIS 7 完整的组件分报图。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多