通过传递优化使用代理

代理要求

设备需要直接访问传递优化云服务终结点: *.prod.do.dsp.mp.microsoft.com。 将代理配置为允许流向此终结点的流量。 虽然传递优化可以使用 WinHttp 的自动代理发现功能来处理代理通信,但直接访问此终结点可确保最佳的 P2P 连接和性能。

当代理执行以下任一操作时,建议绕过代理:

  • TLS 检查。
  • 扫描或修改响应内容。
  • 以可能会对 P2P 连接产生负面影响的方式隐藏客户端的真实公共 IP 地址。
  • 无法通过其他方式进行配置来避免上面列出的行为。

绕过此终结点有助于确保传递优化能够准确识别对等设备并建立有效的 P2P 连接。

注意

如果不允许直接访问 Internet,请尝试使用组 DownloadMode“2”来定义对等互连组。 详细了解 如何使用 Group DownloadMode。

TLS 检查要求

传递优化在连接到其云服务终结点时使用 证书固定 。 执行 TLS 检查的代理 (也称为 SSL 检查或 HTTPS 拦截) 将服务器证书替换为由代理自己的证书颁发机构签名的证书。 这会中断传递优化的证书验证,导致服务连接失败。

重要提示

必须为传递优化 禁用 TLS 检查,并Microsoft连接的缓存终结点。 没有解决方法 - 传递优化不接受这些连接的替代证书。

要免除 TLS 检查的终结点

确保以下终结点位于代理或防火墙的 TLS 检查旁路列表中:

终结点 使用者 为什么需要豁免
geo.prod.do.dsp.mp.microsoft.com 执行异地服务和 MCC 初始化 证书固定 - MCC 报告“异地证书验证失败”(如果截获)
array*.prod.do.dsp.mp.microsoft.com 执行云服务 (对等发现、配置) 证书固定 - 如果证书被替换,连接失败

有关传递优化和Microsoft连接缓存使用的终结点的完整列表,请参阅 Microsoft连接缓存内容和服务终结点

TLS 检查对传递优化的影响

当 TLS 检查在传递优化终结点上处于活动状态时,可能会遇到:

  • 对等 (P2P) 下载失败。 传递优化无法连接到云服务来发现对等方,因此所有下载都回退到仅 CDN。
  • Microsoft连接缓存 (MCC) 发现失败。 MCC 使用相同的云服务进行初始化。 如果异地服务连接失败,MCC 无法完成其设置。
  • 下载回退到仅 HTTP。 当内容仍然下载时,会丢失 P2P 和 MCC 节省的带宽。

验证 TLS 检查是否未拦截 DO 流量

若要确认代理未截获传递优化连接,请使用 开关运行传递优化疑难解答 -HealthCheck 。 这会检查与 DO 服务终结点的连接,并报告证书验证失败。 有关详细信息,请参阅 传递优化疑难解答

如果运行状况检查报告 DO 服务终结点的证书验证失败,则 TLS 检查可能处于活动状态,需要绕过。

云代理配置 (Zscaler,类似)

如果使用 Zscaler 或类似的云代理:

  1. 绕过 DO 服务主机名 (*.do.dsp.mp.microsoft.com TLS 检查) ,并允许该流量直接流向 Internet。
  2. (*.dl.delivery.mp.microsoft.com) 的内容 CDN URL 可以选择通过代理,但不得修改其内容。
  3. 验证代理是否不会更改 DO 服务调用的客户端源 IP 地址 - 传递优化使用客户端的 IP 进行地理位置和对等匹配。

注意

传递优化服务调用 () *.do.dsp.mp.microsoft.com 无法通过更改客户端 IP 地址的代理,因为该服务使用该 IP 进行地理位置和对等匹配。 内容有效负载下载 (可以通过代理) 实际更新文件。

传递优化如何使用 WinHttp

当传递优化从 HTTP 源下载内容时,它将使用 WinHttp 的自动代理发现功能来处理复杂的代理配置。 传递优化通过在所有 HTTP 调用中设置 WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 标志来启用此功能。

传递优化为 WinHttp 提供当前已登录用户的令牌。 然后,WinHttp 使用此令牌根据配置的代理自动对用户进行身份验证。

配置代理

若要启用传递优化以使用代理,请通过 Windows 代理设置 (WinINET 对其进行配置,以前是 Internet Explorer 代理设置) 。

将 Windows 代理设置为设备范围,以确保即使没有用户登录,设备也能访问代理服务器。 在这种情况下,如果需要代理身份验证,则会使用“NetworkService”上下文访问代理。

注意

我们不建议使用 netsh winhttp set proxy ProxyServerName:PortNumber。 此命令不提供代理的自动检测,不支持显式 PAC URL,也不对代理进行身份验证。 对于使用自动发现和交互式用户令牌的请求,WinHTTP 也会忽略它。

按用户上下文排序的代理行为:

  • 当用户登录时,系统会使用 Windows 代理。
  • 当没有用户登录并且同时设置了 Windows 代理和 netsh 配置时,netsh 配置优先。 这可能会导致下载失败,例如HTTP_E_STATUS_PROXY_AUTH_REQ或HTTP_E_STATUS_DENIED错误。

如果代理配置使用静态 proxyServerName:Port,则可以使用以下项从 Internet Explorer 导入代理设置:

netsh winhttp import proxy source=ie

但是,前面提到的相同限制也适用于此导入的配置。

设置设备范围的 Windows 代理

可以根据环境使用移动设备管理 (MDM) 或组策略配置设备范围的代理。 这两种方法都对设备上的所有用户应用代理设置,确保传递优化可以在所有上下文(包括未登录用户时)访问代理服务器。

使用 MDM (移动设备管理)

若要通过 MDM ((例如Intune) )为所有用户设置代理设置,请使用网络代理 CSP。 此方法应用适用于所有用户上下文(包括交互式用户和后台服务(如 NetworkService)的设备范围的代理设置。

使用 组策略

如果通过 Active Directory 管理设备,则可以通过启用 计算机配置 > 管理模板 > Windows 组件 > Internet Explorer > 将代理设置 (而不是按用户) 策略,将代理设置应用于设备上的所有用户。

启用此策略时,代理设置将统一应用于设备上的所有用户。 这意味着所有用户必须在设备级别使用相同的代理配置集,并且用户不能使用自己的代理设置替代它。 如果禁用此策略或将其保留为“未配置”,用户可以建立自己的单个代理设置。

Microsoft代理后面的连接缓存

如果使用 Microsoft连接缓存,则可以将连接缓存服务器配置为使用代理进行出站 Internet 连接。

连接的缓存服务器的代理设置与传递优化的代理配置是分开的。 正如上述) 所述,传递优化客户端需要代理设置才能访问云服务 (,但连接的缓存服务器本身可能需要代理设置才能访问Microsoft的内容服务器。

连接缓存支持使用未经身份验证的代理进行出站连接。 有关详细配置步骤,请参阅 Microsoft连接的缓存代理设置

代理连接计时行为

当传递优化在代理后面运行时,初始下载可能需要更长的时间才能开始。 这是因为传递优化必须在内容传输开始之前通过 Windows 网络组件执行代理发现和用户身份验证。

了解以下有关传递优化与代理的连接行为:

  • 多个连接:传递优化在客户端与不同传递优化云服务之间建立多个连接。
  • 连接重用:传递优化使用 WinHTTP 的连接池来重用连接。 当连接空闲大约 60 秒时,它会关闭。 后续请求必须建立新的连接,这可能会增加下载时间。

此额外的设置时间是正常和预期的行为,并不表示代理配置存在问题。

设置行为摘要

下表显示了传递优化如何根据用户上下文处理不同的代理配置。 这些表区分了两种方案:当用户主动登录时,以及在没有使用 NetworkService 上下文的交互式用户 (的情况下进行下载时,通常用于后台下载或计划下载) 。

当交互式用户登录时:

配置方法 传递优化使用代理
Internet Explorer 代理 (当前用户)
Internet Explorer 代理 (设备范围的)
netsh 代理
Internet Explorer 代理 (当前用户) 和 netsh 代理 是,使用了 Internet Explorer 代理
Internet Explorer 代理 (设备范围的) 和 netsh 代理 是,使用了 Internet Explorer 代理

当没有用户登录 (NetworkService 上下文) :

配置方法 传递优化使用代理
Internet Explorer 代理 (当前用户)
Internet Explorer 代理 (设备范围的)
netsh 代理
Internet Explorer 代理 (当前用户) 和 netsh 代理 是,使用了 netsh 代理
Internet Explorer 代理 (设备范围的) 和 netsh 代理 是,使用了 netsh 代理

提示

对于最可靠的代理配置,请使用 设备范围的 Internet Explorer 代理设置。 此方法在用户上下文中均有效,并确保无论用户是否已登录,传递优化都可以访问代理。