IIS 版本中的共享配置

作者:Walter Oliver

介绍

在 IIS 6.0 中,由于不存在内置功能,因此难以在服务器之间同步和复制配置。 尽管服务器管理员可以使用脚本 iiscnfg.vbs 在服务器之间复制配置,但这仍会将 ACL 保留在元数据库和计算机特定的路径(例如要修复的 Windows 目录)中。

IIS 中的共享配置

在 IIS 7.0 及更高版本中,管理员可使用共享配置功能在远程共享上存储 IIS 服务器配置文件 applicationHost.config 和 administration.config。 生成 Web 场时可使用该功能解决与复制和同步配置相关的问题。

共享配置会导出哪些内容?

  • applicationHost.config
  • administration.config
  • IIS 和 ASP.NET 的加密密钥(导出为 configEncKey.key)

哪些内容不会导出?

  • machine.config
  • 根 Web.config
  • 网站和应用程序的 Web.config 文件(这些是网站内容的一部分,可存储在共享上)
  • 网站内容(可存储在共享上)
  • 自定义模块
  • 已安装的模块(应在每个服务器上以相同方式配置已安装的模块)

安装

设置共享配置

  1. 创建将访问包含配置的共享的用户。 如果计算机未加入域,则这可以是域用户或本地用户。

    注意

    如果计算机未加入域,则需要在 Web 服务器和文件服务器上创建帐户。

  2. 创建用于存储配置文件的共享并设置权限。 可使用以下命令来实现此操作:

    md %SystemDrive%\centralconfig
    net share centralconfig$=%SystemDrive%\centralconfig /grant:ConfigUser,Read /grant:Administrators,Full
    
  3. 导航到“管理工具”,然后单击“Internet Information Services (IIS) 管理器”。

  4. 单击服务器名称节点。

  5. 双击“共享配置”图标。

  6. 在“共享配置”页上,若要将配置文件从本地计算机导出到其他位置,请单击“操作”窗格中的“导出配置”。

  7. 在“导出配置”对话框中,在“物理路径”文本框中键入路径。

  8. 单击“连接...”并键入用户帐户和密码,然后单击“确定”。 此帐户将用于访问共享。 应使用不是域管理员的受限 Active Directory 帐户。

  9. 在“导出配置”对话框中,键入将用于保护加密密钥的密码,然后单击“确定”。

  10. 在“共享配置”页上,选中“启用共享配置”。

  11. 键入之前输入的物理路径、用户帐户和密码,然后单击“操作”窗格中的“应用”。

  12. 在“加密密钥密码”对话框中,键入之前设置的加密密钥密码,然后单击“确定”。

  13. 在“共享配置”对话框中,单击“确定”。

  14. 单击“确定”。

  15. 关闭 IIS 管理器,然后再重新打开。

  16. 双击“管理服务”图标。

  17. 在“操作” 窗格中,单击“重启”

通过单击“导出配置”任务,UI 会将 applicationHost.config 和 administration.config 文件导出到路径,以及 IIS 用于加密属性(例如自定义应用程序池标识密码)的加密密钥。 默认情况下,applicationHost.config 文件中没有加密的属性,除非服务器管理员已为应用程序池或网站输入自定义标识。

共享配置的工作原理是:使用位于 %windir%\system32\inetsrv\config 文件夹中的名为 redirection.config 的新文件来指定用于访问配置文件的路径和用户名。 选中“共享配置”复选框后,UI 会使用路径和用户名更新 redirection.config 文件。

虽然可以通过复制文件并更新 redirection.config 文件来手动(或以编程方式)执行此任务,但服务器管理员必须导出和导入加密密钥,除非他们不打算使用加密。 UI 可为管理员无缝处理所有这些任务。

有关详细信息,请参阅共享配置