使用后台智能传输服务下载文件时出错:内容文件下载失败

本文介绍在代理服务器后面或不支持 HTTP 1.1 范围请求的防火墙后面时出现的问题。

适用于: Windows Server 2012 R2
原始 KB 编号: 922330

症状

尝试使用后台智能传输服务 (BITS) 下载文件时,会失败。 此外,应用程序日志中记录了以下错误消息:

事件类型:错误
事件源:Windows Server Update Services
事件类别: (2)
事件 ID:364
日期: date
时间: 时间
用户: N/A
计算机: ServerName
说明:内容文件下载失败。 原因:服务器不支持必要的 HTTP 协议。 后台智能传输服务 (BITS) 要求服务器支持 Range 协议标头。

具体而言,如果尝试执行以下操作之一或两个操作,则会遇到此问题:

  • 你批准 Microsoft Windows Server Update Services (WSUS) 中的更新。 在这种情况下,会触发下载过程。 但是,下载操作不成功。 更新上会显示红色 X。
  • 你尝试下载 Microsoft Baseline Security Analyzer (MBSA) 管理包 for Microsoft Operations Manager (MOM) 2005 的 Mssecure.cab 文件。

原因

如果计算机位于防火墙后面或代理服务器后面,则可能会遇到此问题。 如果满足以下条件之一,则会出现此问题:

  • 代理服务器环境不支持 HTTP 1.1 范围请求功能。
  • 你位于 SonicWALL 防火墙设备后面,并且未为设备启用 “使用网关 AV 启用 HTTP Byte-Range 请求 ”设置。

在后台模式下使用 BITS 复制文件时,将按多个小部分复制该文件。 若要执行此类复制操作,BITS 使用 HTTP 1.1 Content-Range 标头。 如果你位于代理服务器后面或删除此标头的防火墙后面,则文件复制操作将失败。

注意

当 BITS 在前台模式下复制文件时,BITS 不会使用此标头。

解决方法 1:代理服务器不支持 HTTP 1.1 范围请求

修改代理服务器设置以支持 HTTP 1.1 范围请求。 如果无法以这种方式修改代理服务器,请将 BITS 配置为在前台模式下工作。 为此,请按照下列步骤操作:

  1. 单击 “开始”,单击“ 运行”,键入以下命令之一,然后单击“ 确定”。

    如果将 WSUS 2.0 用于默认 WSUS 安装创建的 MSDE 或 WMSDE 数据库,请键入以下命令:

    %programfiles%\Update Services\tools\osql\osql.exe -S %Computername%\WSUS -E -b -n -Q "USE SUSDB update tbConfigurationC set BitsDownloadPriorityForeground=1"
    

    如果将 WSUS 2.0 配置为使用 Microsoft SQL Server的现有安装,请键入以下命令:

    %programfiles%\Update Services\tools\osql\osql.exe" -S %Computername% -E -b -n -Q "USE SUSDB update tbConfigurationC set BitsDownloadPriorityForeground=1"
    

    如果将 WSUS 3.0 用于默认 WSUS 安装创建的Windows 内部数据库,请键入以下命令:

    %programfiles%\Update Services\Setup\ExecuteSQL.exe -S %Computername%\MICROSOFT##SSEE -d "SUSDB" -Q "update tbConfigurationC set BitsDownloadPriorityForeground=1"
    
    If you configured WSUS 3.0 to use an existing installation of SQL Server, type the following command:
    
    ```console
    %programfiles%\Update Services\Setup\ExecuteSQL.exe -S %Computername% -d "SUSDB" -Q "update tbConfigurationC set BitsDownloadPriorityForeground=1"
    
  2. 重启更新服务服务。 为此,请按照下列步骤操作:

    1. 单击 “开始”,单击“ 运行”,键入 services.msc,然后单击“ 确定”。
    2. 在“ 服务 ”对话框中,右键单击“ 更新服务”,然后单击“ 重启”。

解决方法 2:未启用使用网关 AV 设置启用 HTTP Byte-Range 请求

单击以选中 SonicWALL 配置工具的“内部设置”页上的“使用网关 AV 检查启用 HTTP Byte-Range 请求”框。 有关如何修改 SonicWALL 防火墙功能的详细信息,请联系 SonicWALL 支持人员。 为此,请访问以下 SonicWALL 网站:

SonicWALL 支持

Microsoft 提供了第三方联系信息,以便你寻求技术支持。 该联系信息如有更改,恕不另行通知。 Microsoft 不保证此第三方联系信息的准确性。