Web 应用程序在版本 1709 Windows 10 上返回 HTTP 错误 503 和 WAS 事件 5189

本文帮助你重新过时 HTTP 503 错误和 5189 事件,在升级到版本 1709 (Fall Creators Update) 后,Windows 10或Windows Server 2016,Web 应用程序无法启动,并返回 HTTP 503 错误和 Windows 激活服务 (WAS) 事件 5189。

原始产品版本:Windows 10 企业版、Windows 10 专业版、Windows Server 2016标准版、Windows Server 2016数据中心
原始 KB 编号: 4050891

症状

请考虑以下情况:

  • 你有一台运行Windows 10或Windows Server 2016的计算机,该计算机已启用 Internet Information Services (IIS) 。
  • 升级到 Windows 10版本 1709 (Fall Creators Update) 或 Windows Server 2016 版本 1709。

升级后,某些 Web 应用程序未启动,它们返回以下 HTTP 503 错误消息:

服务不可用
HTTP 错误 503。 服务不可用。

此外,WAS 事件 5189 记录在事件日志中:

Windows 进程激活服务未能为应用程序池“DefaultAppPool>”<生成应用程序池配置文件。 错误类型为“5”。 若要解决此问题,请确保applicationhost.config文件正确,并重新提交上次所做的配置更改。 数据字段包含错误编号。

解决方案

若要解决此问题,请手动删除由Windows 更新创建的符号链接。 为此,请按照下列步骤操作。

注意

符号链接可以删除与常规文件相同的链接。

  1. 使用 “以管理员身份运行 ”选项打开命令提示符窗口。

  2. 运行以下命令:

    net stop WAS /y
    rmdir /s /q C:\inetpub\temp\appPools
    net start W3SVC
    

原因

在典型操作期间,WAS 会为文件夹中的 C:\inetpub\temp\appPools 每个 IIS 应用程序池创建一个临时配置文件。

在初始升级阶段,Windows 更新扫描 Windows 文件夹) 外部 (的现有文件夹和文件,并记录要在升级后还原的路径。 但是,由于配置文件是临时的,因此在 WAS 停止时会将其删除。

在Windows 更新的下一阶段,这些以前扫描的文件和文件夹将复制到临时升级位置。 Windows 升级后,Windows 更新创建一个符号链接,指向复制到临时升级位置的每个文件夹,然后再尝试将这些文件和文件夹还原到其原始位置。

但是,由于这些临时配置文件不再存在,Windows 更新不会删除符号链接。

当 WAS 尝试以 IIS 辅助角色进程开头时,它不会创建临时文件夹来编写配置,因为具有符号链接。 因此,Http.Sys返回 HTTP 503 错误。