Windows 更新客户端如何确定用于连接到 Windows 更新 网站的代理服务器

本文介绍Windows 更新客户端用来连接到Windows 更新网站的代理服务器检测方法,以及Windows 更新使用特定方法的情况。

Windows 更新客户端要求 Windows HTTP 服务(WinHTTP)扫描可用更新,并使用后台智能传输服务(BITS)或传递优化(DO)下载这些更新。 WinHTTP、BITS 和 DO 在 Microsoft Internet Explorer 中独立运行。 这些服务必须能够检测在特定环境中可用的代理服务器。

自动更新服务配置为从Windows 更新网站下载和安装更新

自动更新服务会自动从Windows 更新网站下载和安装更新。 它不需要用户交互,因为此服务在本地系统帐户下运行。 此服务会影响系统范围的配置,并且需要管理员级别控制。 在此方案中,WinHTTP 更适合在 Internet Explorer 中使用,而不是在 WinINet 中使用。

自动更新服务只能使用以下方法之一发现代理服务器:

  • 使用命令手动配置 Netsh 代理服务器。

  • Web 代理自动检测(WPAD)设置在网络环境中的以下任一选项中配置:

    • 域名系统 (DNS) 选项
    • 动态主机配置协议 (DHCP) 选项

对于Windows 更新扫描 URL(连接到 SimpleAuth Web 服务客户端 Web 服务),用于更新检测:

  • 系统会尝试系统代理(WinHTTP)。

  • 如果Windows 更新代理(WUA)由于某些代理、服务或身份验证错误代码而无法访问服务,则尝试用户代理。 (通常,它是已登录的用户 IE 设置或 WinINet。

    对于 Intranet WSUS 更新服务 URL,可以使用 “指定 Intranet”Microsoft更新服务位置 设置来选择代理行为。

    “指定 Intranet Microsoft更新服务位置”窗口的屏幕截图,其中仅使用系统代理来检测更新(默认值)。

对于Windows 更新 URL,这些 URL 不用于更新检测(例如用于报告的 URL):

  • 尝试用户代理。
  • 如果 WUA 由于某些代理、服务或身份验证错误代码而无法访问服务,则会尝试系统代理。

Web 代理自动检测(WPAD)功能

WPAD 功能使服务能够通过查询 DHCP 选项或查找特定 DNS 记录来查找可用的代理服务器。

Netsh.exe工具

Netsh.exe工具用于配置系统范围的静态代理。 可以使用 netsh winhttp 上下文中的命令来配置 Windows HTTP 的代理和跟踪设置。 Netsh可以在提示符处或在脚本和批处理文件中手动netsh运行其winhttp命令。 如果无法实现 WPAD,Netsh.exe工具非常有用。

使用 Netsh.exe 工具配置代理服务器

若要使用 Netsh.exe 工具来配置代理服务器,请执行以下步骤:

  1. 选择“开始>运行”,键入 cmd,然后选择“确定”。

  2. 在命令提示符处运行以下命令,然后按 Enter

    netsh winhttp set proxy <proxyservername>:<portnumber>
    

    在此命令中,替换为 <proxyservername> 代理服务器的完全限定域名。 替换为 <portnumber> 要为其配置代理服务器的端口号。 例如,将 <proxyservername>:<portnumber> 替换为 proxy.domain.example.com:80

使用 Netsh.exe 工具删除代理服务器

若要使用 Netsh.exe 工具删除代理服务器并配置对 Internet 的“直接访问”,请执行以下步骤:

  1. 选择“开始>运行”,键入 cmd,然后选择“确定”。

  2. 在命令提示符处运行以下命令,然后按 Enter

    netsh winhttp reset proxy 
    

使用 Netsh.exe 工具验证当前代理配置

若要使用 Netsh.exe 工具验证当前代理配置,请执行以下步骤:

  1. 选择“开始>运行”,键入 cmd,然后选择“确定”。

  2. 在命令提示符处运行以下命令,然后按 Enter

    netsh winhttp show proxy
    

支持的 .pac 文件

有关支持的 .pac 文件类型的详细信息,请参阅 WinHTTP AutoProxy 支持