Поделиться через


IIS7在Windows Server 2008 R2中的新改进

welcome IIS团队刚刚发表了IIS7在Window Server 2008 R2 beta中的新改进。

译自:IISBlog

Windows Server 2008 R2包括对IIS7 Web服务器的增补,对已经是史上最好的IIS平台进行修正、完善、添加。

过去的一年半中,IIS产品团队在IIS7平台上辛勤编写扩展,发布了beta、TC和RTW们来新增对优化媒体托管、Web内容发布、站点和服务器管理、部署和迁移、请求处理的支持。没有我们在Windows Server 2008上IIS7中引入的架构变更,我们根本无法在12~18个月中进行创新,并构建面向生产环境、完全受支持的微软软件。现在在Windows Server 2008 R2, 我们对这个IIS7平台再做了一些改进、修正和完善。

今天在Windows Server 2008 R2 Beta中IIS7改进的主要亮点:

内容发布扩展(FTP, WebDav)集成进Web服务器OS

继承内容发布扩展 (FTP, WebDav)进Windows Server OS
在Windows Server 2008发布前很久,我们就开始研发完全重写的FTP服务器和我们的WebDav实现。08年早些时候,我们发布了Windows Server 2008 FTP发布服务下载,具有FTPS安全内容发布、IPv6支持、IIS管理器集成管理FTP/HTTP站点、更强大的日志和认证支持的特性。跟我们所有的扩展一样,Windows Server 2008 FTP发布服务受到微软产品支持的完全支持及由专家用户和产品团队提供的论坛支持。我们在Windows Server 2008 R2中已经做到的是将FTP发布服务集成到服务器操作系统。

从客户角度,这意味着:

    1. 当Windows Server 2008上已经安装了FTP发布服务,你必须在安装新FTP服务前移除旧版。在R2中,你可以作为IIS组件的一部分来安装新的FTP服务器,IIS setup会替换升级旧的FTP服务。

    2. 你可以得到FTP发布服务自2008年2月发布后的bug修复。

    3. 你可以使用新增的认证、日志、授权和home目录扩展性,这些在MSDN上会有文档。

我们也会在2009年5月发布一个更新过的Windows Server 2008 FTP发布服务下载,所以这部分客户也能利用这些bug修复和扩展性。或者说:

(2009年5月版FTP下载 + Windows Server 2008) == (Windows Server 2008 R2中的FTP特性)

但有如下例外:

Windows Server 2008 FTP发布服务始终是一个下载安装,而Windows Server 20008 R2和以后会集成FTP。

2008年7月发布的WebDav也是一样。WebDav for Windows Server 2008提供了HTTP协议WebDAV扩展的全新实现(直至spec)。我们在Windows Server 2008 R2安装中包含了WebDav。WebDav大的新特性是支持locks。我们也会为Windows Server 2008发布一个支持lock的WebDav,同样是2009年5月。同样地:

(2009年5月版WebDav下载 + Windows Server 2008) == (Windows Server 2008 R2中的WebDav特性)

如下例外:

WebDav for Windows Server 2008 始终是一个下载安装,而Windows Server 20008 R2和以后会集成WebDav。

集成Administration Pack扩展到Windows Server OS

我们把IIS7 Administration Pack集成到Windows Server 2008 R2,为客户提供:

  1. 在IIS Manager中集成管理ASP.NET authorization,自定义错误,FastCGI,和and Request Filtering。

  2. 配置管理器,提供管理IIS7配置系统的可视化编辑器。如果你想试用一下,我们的IIS开发经理Carlos Aguilar Mares撰写了comprehensive blog on the Config Editor's capabilities一文。我最爱的配置管理器部分是脚本生成功能——对做演示非常管用:)

我们并未将IIS Reports特性集成进Windows Server OS,如果你需要这个功能,你可以在IIS Administration Pack下载中得到。同样的,我们也会为Windows Server 2008用户提供更新的IIS Administration Pack,包括Windows Server 2008 R2种所有的修复和变更(除了集成安装)。

Windows Server 2008版的Administration Pack会和Windows Server 2008 R2一起发布,以确保功能和Windows Server 2008 R2一致。

新的IIS7 PowerShell Provider和Commandlet支持

IIS PowerShell provider,同样有Windows Server 2008版下载,允许用户使用PowerShell编程环境管理IIS,ASP.NET和自定义错误配置。是的,传说是真的——我们有为PowerShell用户们提供IIS:/>。我们的PowerShell支持提供了3个等级的支持:

  1. PowerShell provider: 如果你熟悉IIS配置系统,想直接用PS编程环境来管理配置。

  2. Low-level commandlets: 用我们的low-level commandlets集合来管理每个IIS设置,如果你需要这个程度的细粒度控制。

  3. Task-oriented commandlets: 用我们的面向任务commandlets来管理网站(例如:New-WebSite创建一个站点),备份和恢复web服务器配置及其他常见任务。

集成到Windows Server 2008 R2中,你可以使用Windows Server setup来安装PowerShell provider和60+个commandlets。

和FTP、WebDav一样:

(2009年5月版PowerShell下载 + Windows Server 2008) == (Windows Server 2008 R2中的PowerShell特性)

例外是:

PowerShell for Windows Server 2008 始终是一个下载安装,而Windows Server 20008 R2和以后会集成PowerShell 。

更多的PowerShell支持信息,可以查看Group Program Manager和PowerShell大牛Thomas Deml的博客(<blogs.iis.net/thomad>)。

丰富的Server Core应用程序托管

Windows Server 2008 R2上,你可以在Server Core的IIS上跑ASP.NET应用。ASP.NET/CLR做了一些重构工作来确保ASP.NET网页的托管代码环境可以在Server Core上运行。哇!我们不仅能在Server Core上支持图片、媒体、PHP、传统ASP网页,也能跑ASP.NET应用。

Windows Server 2008 R2中的PowerShell 2.0版本处理远程管理,对Server Core安装和新的PowerShell provider很便利。你不仅能在Server Core IIS上托管你的所有应用,本地或远程通过新的IIS PowerShell Provider和commandlets来管理它们也更容易了。在Windows PowerShell blog上有PowerShell大法供参考。

改进的FastCGI支持

IIS7通过我们的FastCGI实现来支持PHP托管,我们在Windows Server 2008 R2 IIS7中持续翻新和提高FastCGI。增强的支持包括:

  1. 支持在IIS Manager中管理FastCGI设置。

  2. 当php.ini变化时自动刷新php-cgi.exe。这个版本中,IIS为每个进程池监视一个文件,如果文件被修改就会recycle这个进程池的FastCGI进程。此特性默认关闭,如果你(通过用户界面的一个设置)打开它,你可以指定监视的文件路径。

  3. FastCGI的FREB支持,你可以更有效的排错PHP和其他FastCGI相容应用。

  4. MaxInstance可以是动态——如果maxInstance设置为0,IIS自动监测系统负载并调整maxInstances。这允许我们优化PHP的性能。

  5. 基于特定错误的控制FastCGI错误行为的支持。

IIS核心更改

基于客户反馈和我们自己在IIS7平台开发扩展的体验,我们也对IIS7平台核心做了一些修改:

  1. 支持配置系统的自定义追踪。

  2. 通过配置轮询来审核或追踪配置变更的能力——这是来自托管商们的要求,特别是想要监视客户们更改配置系统。

  3. ASP.NET支持不同的CLR版本(例如,CLR4.0),随着多个CLR版本的使用,这个特性对开发者切换版本很重要。我们也将此功能向后移植到Windows Server 2008 SP2。

  4. Application pools的更好控制,可以为每应用程序池指定CLR设置,可以用新的Application Pool性能计数器监视性能。

  5. 可委派自定义错误,这是来自开发者的最多要求,他们想让非管理员在本地或远程改变自定义错误。

  6. IP restriction list的IPv6支持。

  7. Request filtering的更细粒度控制,特别对query strings来帮助防止SQL注入式攻击。Request filtering现在也支持请求特定的规则,使SQL注入规则仅对特定请求适用。

  8. Nego2支持,将允许内置支持LiveID providers,FedSSP,和更小粒的Kerberos/NTLM使能。

  9. 支持不要求密码的Managed Service Accounts域账号。

  10. AppPool identity支持——这个太复杂了,以后单独帖子会另行讲。

  11. 支持application pool预热,大型应用程序会需要"起动"一个应用程序池,这样最初的请求们会有更好的性能。

IIS Best Practice Analyzer
Windows Server 2008 R2在Server Manager里引入了一个新特性叫做Best Practice Analyzer。BPA在Server Manager里提供单一控制台体验来管理跨不同服务器角色的配置的最优实践规则,如Exchange、AD和IIS。在Server Manager里,你可以对一些IIS规则运行BPA针对安全和性能的最优实践——例如,检查确认基本验证不会没有加SSL就启用。针对IIS的BPA规则并不是巨细无遗,但它确实给予一组良好的核心提示作为起步。我们也会通过Server Manager来更新和增加这些规则。注意这个功能在Server Manager中,不在IIS Manager中。

当然,我们也修复了bugs。

你的反馈帮助了我们修炼IIS7,至今最好的Web服务器平台。今天你可以在这里下载Windows Server 2008 R2 beta,这不失为开始2009年的好办法!

Comments

  • Anonymous
    March 27, 2013
    The comment has been removed