本文档介绍允许Microsoft更新流量使用安全Web设备(SWA)中的范围请求的步骤。
Cisco 建议您了解以下主题:
思科建议您安装以下工具:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
范围请求是HTTP协议的一项功能,它允许客户端(如Web浏览器或下载管理器)仅从服务器请求文件的特定部分,而不是一次下载整个文件。这对于恢复中断的下载、流媒体或高效地访问大型文件尤其有用。客户端在HTTP请求的Range报头中指定所需的字节范围,如果服务器支持范围请求,则服务器以206 Partial Content状态代码进行响应,仅传送请求的文件段。
此机制可在多个场景中增强性能和用户体验。例如,在视频流中,范围请求允许播放器仅获取播放所需的数据段,从而减少带宽使用并提高响应速度。同样,下载管理器使用范围请求将文件拆分为数据块并并行下载,从而加速了整个过程。范围请求在缓存和代理系统中也起着关键作用,支持部分更新和减少冗余数据传输。
在代理环境中,范围请求在优化带宽使用率和提高内容交付效率方面起着关键作用。当启用范围请求时,代理服务器只能从源服务器获取所需的字节段,并在本地缓存这些字节段。这允许客户端请求部分内容(例如视频或大型文件的特定片段),并从代理缓存中快速接收该内容(如果可用)。它还支持并行下载和恢复功能,这在带宽有限或延迟较高的环境中尤其有用。
但是,当范围请求被禁用时,代理必须从源服务器获取整个文件,即使客户端只需要一小部分。这会导致不必要的数据传输、代理服务器和源服务器上的负载增加,以及客户端的响应时间变慢。它还会阻止有效的缓存策略,因为代理无法存储或提供部分内容。在流传输场景中,这会导致缓冲延迟或用户体验下降。出于安全或策略原因,可以禁用范围请求,但这样做通常会牺牲性能和灵活性。
例如,假设有10个用户尝试通过代理服务器从100MB的文件中分别下载1MB的流量。
已禁用范围请求:
禁用范围请求时,代理无法仅获取每个用户所需的1MB数据段。相反,它必须从源服务器为每个请求下载完整的100MB文件。这会导致:
从源到代理的总流量:10 × 100MB = 1000MB(1GB)
只有10MB的数据被客户端实际使用。
剩下的990MB被浪费,导致带宽使用效率低下,并且增加了代理服务器和源服务器上的负载。
已启用范围请求:
启用范围请求后,代理仅获取每个用户请求的1 MB:
从源到代理的总流量:10 × 1MB = 10MB
代理可以缓存这些数据段,并在需要时将其提供给其他用户。
这可以减少90倍的流量,加快响应速度,显着提高资源利用率。
尽管范围请求增强了性能,但它们会阻碍SWA环境中的安全扫描和策略实施,因为这些系统无法完全检查部分内容。本文仅将范围请求使用限于Microsoft Update流量。
步骤1.启用范围请求 |
1.1.在GUI中,点击Security Services,然后选择Web Proxy。 1.2.单击Edit Settings。 1.3.选中启用范围请求转发复选框。 1.4.单击提交。
|
步骤2.为Microsoft更新URL创建自定义URL类别 |
2.1.从GUI,选择Web Security Manager,然后单击Custom and External URL Categories。 2.5.从列表顺序中选择要放在首位的第一个类别。 2.6.从Category Typedrop列表中,选择Local Custom Category。 2.7.在“站点”部分中添加Microsoft更新URL。
提示:您可以通过此链接检查Microsoft更新列表:第2步 — 配置WSUS | Microsoft学习
警告:不要复制/粘贴Microsoft文档中的URL;将它们正确格式化为SWA格式。有关详细信息,请访问:在安全Web设备中配置自定义URL类别 — 思科 例如: 2.8.单击提交。
|
步骤3.(可选)创建标识配置文件以免除Microsoft更新流量进行身份验证 |
3.1.从GUI中,选择Web Security Manager,然后单击Identification Profiles。 第3.7步:在User Identification Method部分中,选择Exempt from authentication/identication。 第3.8步在Define Members by Subnet中,如果要为某些特定用户通过Microsoft流量,请输入适用的IP地址或子网,否则将此字段留空以包括所有IP地址。 第3.9步:从高级部分,选择自定义URL类别。 第3.10步。添加为Microsoft更新创建的自定义URL类别。 第3.11步。单击完成。 步骤3.12.单击提交。
|
步骤4.(可选)创建解密策略以通过Microsoft更新流量 |
第4.1步:从GUI,选择Web Security Manager,然后单击Decryption Policy。 步骤4.2.单击Add Policies添加解密策略。 第4.3步:分配唯一的PolicyName。 第4.6步:从Identification Profiles and Users中,选择Select One or more Identification Profiles。 第4.7步。选择您在第3步中创建的标识配置文件,然后跳至第4.11步。 第4.8步:如果您未为Windows更新创建任何ID配置文件,请从Advanced部分选择Custom URL Categories。 第4.9步:添加在第2步中为Microsoft更新创建的自定义URL类别。 第4.10步。单击完成。 第4.11步。单击提交。
4.12.在解密策略(Decryption Policies)页面的URL过滤(URL Filtering)下,点击与此新解密策略关联的链接。 4.13.SelectPass Throughas操作,用于Microsoft Updates URL类别。
4.12.单击提交。 |
步骤5.创建访问策略以允许Microsoft更新流量的范围请求 |
5.1.从GUI,单击Web Security Manager,然后选择Access Policy。 5.2.单击Add策略以添加访问策略。 5.3.分配唯一的PolicyName。 5.6.从Identification Profiles and Users中选择Select One or More Identification Profiles。 5.7.选择您在第3步中创建的标识配置文件,然后跳至第5.11步。 5.8.如果未为Windows更新创建任何ID配置文件,请从Advanced部分中,选择Custom URL Categories。 5.9.添加在步骤2中为Microsoft更新创建的自定义URL类别。 5.10.单击完成。 5.11.提交。
5.12.在Access Policies页上,在URL Filtering下,点击与此新访问策略关联的链接 5.13.选择Allow作为为Microsoft更新创建的自定义URL类别的操作。 5.14.单击提交。
5.15.在Access Policies页上,在Applications下,点击与此新访问策略关联的链接
5.16.在Edit Applications Settings部分,选择Define Applications Custom Settings。 5.17. 在Applications Settings部分,点击Edit all for Games应用,并将操作设置为Block。 5.18.单击Apply。
5.19.向下滚动到Range Request Settings for Policy部分,确保已选中Forward range requests部分,
5.20.提交。 5.21.在Access Policies页上,在Applications下,点击与Global Policy关联的链接。
5.22.向下滚动到Range Request Settings for Policy部分,确保已选中Do Not Forward range requests部分, 5.23.提交更改。 |
要更清楚地查看访问日志中的范围请求,您可以添加以下自定义字段:
| [客户端范围= %<范围:] |
显示客户端请求的范围(字节) |
| [content= %>Content-Length:] |
显示下载的内容大小(字节) |
有关向SWA访问日志添加自定义字段的详细信息,请访问以下链接:在访问日志中配置性能参数
使用此CURL命令向SWA发送范围请求:
curl -vvvk -H "Pragma: no-cache" -x 10.48.48.181:3128 -H 'Range: bytes=0-100' 'http://catalog.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/f263aa64-f367-42f0-9cad-328f342b93f7/public/windows11.0-kb5043080-arm64_df540a05f9b118e339c5520f4090bb5d450f090b.msu' -o /dev/null -k
从CURL的输出中可以看到HTTP响应为HTTP/1.1 206:
> GET http://catalog.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/f263aa64-f367-42f0-9cad-328f342b93f7/public/windows11.0-kb5043080-arm64_df540a05f9b118e339c5520f4090bb5d450f090b.msu HTTP/1.1
> Host: catalog.sf.dl.delivery.mp.microsoft.com
> User-Agent: curl/8.7.1
> Accept: */*
> Proxy-Connection: Keep-Alive
> Pragma: no-cache
> Range: bytes=0-100
>
* Request completely sent off
< HTTP/1.1 206 Partial Content
从访问日志中,您可以看到操作为TCP_CLIENT_REFRESH_MISS/206:
1773942471.096 14 10.190.0.206 TCP_CLIENT_REFRESH_MISS/206 860 GET http://catalog.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/f263aa64-f367-42f0-9cad-328f342b93f7/public/windows11.0-kb5043080-arm64_df540a05f9b118e339c5520f4090bb5d450f090b.msu - DEFAULT_PARENT/proxy.esl.cisco.com application/octet-stream ALLOW_CUSTOMCAT_12-AP_Windows_Update-MS_Update_No_Auth-NONE-NONE-NONE-DefaultGroup-NONE <"C_Wind",-,-,"-",-,-,-,-,"-",-,-,-,"-",-,-,"-","-",-,-,"-",-,"-","-","-","-","-","-","-",491.43,0,-,"-","-",-,"-",-,-,"-","-",-,-,"-",-,-> - - [Client Range = "bytes=0-100"] [content= "101"]
| 版本 | 发布日期 | 备注 |
|---|---|---|
2.0 |
29-Jul-2026
|
首次公开发布 |
1.0 |
25-Mar-2026
|
初始版本 |