Windows 10版本 1709 上的 Web 应用程序返回 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 Standard、Windows Server 2016 Datacenter
原始 KB 编号: 4050891

症状

请考虑以下情况:

  • 你有一台计算机正在运行Windows 10或启用了 Internet Information Services (IIS) 的Windows Server 2016。
  • 升级到 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 为文件夹中的每个 IIS 应用程序池 C:\inetpub\temp\appPools 创建一个临时配置文件。

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

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

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

当 WAS 尝试作为 IIS 工作进程启动时,由于符号链接,它不会创建临时文件夹来写入配置。 因此,Http.Sys 返回 HTTP 503 错误。