In questo documento viene descritto come consentire a Microsoft Updates Traffic di utilizzare Range Request in Secure Web Appliance (SWA).
Cisco raccomanda la conoscenza dei seguenti argomenti:
Cisco consiglia di installare i seguenti strumenti:
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Una richiesta di intervallo è una funzionalità del protocollo HTTP che consente a un client, ad esempio un browser Web o un gestore di download, di richiedere solo una parte specifica di un file da un server, anziché scaricare l'intero file contemporaneamente. Ciò è particolarmente utile per riprendere download interrotti, eseguire lo streaming dei file multimediali o accedere in modo efficiente a file di grandi dimensioni. Il client specifica l'intervallo di byte desiderato nell'intestazione Range della richiesta HTTP e il server risponde con un codice di stato 206 Partial Content se supporta le richieste Range, consegnando solo il segmento richiesto del file.
Questo meccanismo migliora le prestazioni e l'esperienza dell'utente in diversi scenari. Ad esempio, nello streaming video, le richieste di intervallo consentono ai giocatori di recuperare solo i segmenti necessari per la riproduzione, riducendo l'utilizzo della larghezza di banda e migliorando i tempi di risposta. Analogamente, i gestori di download utilizzano le richieste di intervallo per suddividere un file in blocchi e scaricarli in parallelo, velocizzando il processo. Le richieste Range svolgono un ruolo chiave anche nella cache e nei sistemi proxy, consentendo aggiornamenti parziali e riducendo i trasferimenti di dati ridondanti.
In un ambiente proxy, le richieste dell'intervallo svolgono un ruolo cruciale nell'ottimizzazione dell'utilizzo della larghezza di banda e nel miglioramento dell'efficienza nella distribuzione dei contenuti. Quando le richieste di intervallo sono abilitate, il server proxy può recuperare solo i segmenti di byte richiesti dal server di origine e memorizzarli nella cache locale. Questo consente ai client di richiedere contenuti parziali, come segmenti specifici di un video o un file di grandi dimensioni, e di riceverli rapidamente dalla cache proxy, se disponibile. Consente inoltre di eseguire download paralleli e funzionalità di ripristino, che risultano particolarmente utili in ambienti con larghezza di banda limitata o alta latenza.
Tuttavia, quando le richieste di intervallo sono disabilitate, il proxy deve recuperare l'intero file dal server di origine anche se il client richiede solo una piccola parte. Questo comporta un trasferimento di dati non necessario, un aumento del carico sui server proxy e di origine e tempi di risposta più lenti per i client. Impedisce inoltre l'adozione di strategie efficienti di memorizzazione nella cache, poiché il proxy non è in grado di archiviare o gestire parte del contenuto. Negli scenari di streaming, ciò può causare ritardi nel buffer o degradazione dell'esperienza utente. La disattivazione delle richieste di intervallo può avvenire per motivi di sicurezza o di policy, ma spesso avviene a costo di prestazioni e flessibilità.
Si consideri ad esempio uno scenario in cui 10 utenti stanno tentando di scaricare 1 MB ciascuno da un file di 100 MB tramite un server proxy.
Richieste intervallo disabilitate:
Quando le richieste di intervallo sono disabilitate, il proxy non può recuperare solo il segmento da 1 MB di cui ogni utente ha bisogno. Deve invece scaricare l'intero file da 100 MB dal server di origine per ogni richiesta. Il risultato è:
Totale traffico dall'origine al proxy: 10 × 100 MB = 1000 MB (1 GB)
Solo 10 MB di tali dati vengono effettivamente utilizzati dai client.
I restanti 990 MB vengono sprecati, determinando un utilizzo inefficiente della larghezza di banda e un aumento del carico sui server proxy e di origine.
Richieste intervallo abilitate:
Con le richieste di intervallo abilitate, il proxy recupera solo i 1 MB richiesti per utente:
Totale traffico dall'origine al proxy: 10 × 1 MB = 10 MB
Il proxy può memorizzare nella cache questi segmenti e servirli ad altri utenti, se necessario.
Ciò consente di ridurre di 90 volte il traffico, di accelerare i tempi di risposta e di ottimizzare l'utilizzo delle risorse.
Sebbene le richieste di intervalli migliorino le prestazioni, ostacolano la scansione e l'applicazione delle policy di sicurezza negli ambienti SWA, poiché questi sistemi non possono ispezionare completamente i contenuti parziali. In questo articolo l'utilizzo delle richieste di intervallo è limitato esclusivamente al traffico di Microsoft Update.
Passaggio 1. Abilitare la richiesta di intervallo |
1.1. Dalla GUI, fare clic su Security Services (Servizi di sicurezza), quindi selezionare Web Proxy. 1.2. Fare clic su Modifica impostazioni. 1.3. Selezionare la casella di controllo Abilita inoltro richiesta intervallo. 1.4. Fare clic su Invia.
|
Passaggio 2. Creare una categoria URL personalizzata per gli URL di Microsoft Update |
2.1.Dalla GUI, selezionare Web Security Manager, quindi fare clic su Categorie URL personalizzate ed esterne. 2.5. Da Ordine elenco, scegliere la prima categoria da posizionare in alto. 2.6. Dall'elenco a discesa Category Typedrop, scegliere Local Custom Category (Categoria personalizzata locale). 2.7. Aggiungere gli URL di Microsoft Update nella sezione Siti.
Suggerimento: È possibile controllare l'elenco degli aggiornamenti Microsoft dal seguente collegamento: Passaggio 2 - Configurazione di WSUS | Microsoft Learn
Attenzione: Non copiare/incollare gli URL come nei documenti Microsoft; formattarli correttamente come formato SWA. Per ulteriori informazioni, visitare: Configure Custom URL Categories in Secure Web Appliance - Cisco Di seguito è riportato un esempio: 2.8. Fare clic su Invia.
|
Passaggio 3. (Facoltativo) Creare un profilo di identificazione per escludere il traffico degli aggiornamenti Microsoft dall'autenticazione |
3.1.Dalla GUI, selezionare Web Security Manager e fare clic su Profili di identificazione. Passaggio 3.7. Nella sezione Metodo di identificazione utente, scegliere Esenzione da autenticazione/identificazione. Passaggio 3.8.Nella finestra Definisci membri per subnet, se si desidera che il traffico Microsoft venga inoltrato per alcuni utenti specifici, immettere gli indirizzi IP o le subnet applicabili oppure lasciare vuoto questo campo per includere tutti gli indirizzi IP. Passaggio 3.9. Dalla sezione Avanzate, scegliere Categorie URL personalizzate. Passaggio 3.10. Aggiungere la categoria URL personalizzato creata per gli aggiornamenti Microsoft. Passaggio 3.11. Fare clic su Fine. Passaggio 3.12. Fare clic su Sottometti.
|
Passaggio 4. (Facoltativo) Creare un criterio di decrittografia per il passaggio attraverso il traffico degli aggiornamenti Microsoft |
Passaggio 4.1.Dalla GUI, selezionare Web Security Manager, quindi fare clic su Criterio di decrittografia. Passaggio 4.2. Fare clic su Aggiungi criterio per aggiungere un criterio di decrittografia. Passaggio 4.3.Assegnare un PolicyName univoco. Passaggio 4.6.Da Profili di identificazione e utenti, scegliere Seleziona uno o più profili di identificazione. Passaggio 4.7. Selezionare il profilo di identificazione creato al passaggio 3 e andare al passaggio 4.11. Passaggio 4.8. Se non è stato creato alcun profilo ID per gli aggiornamenti di Windows, dalla sezione Avanzate scegliere Categorie URL personalizzate. Passaggio 4.9. Aggiungere la categoria URL personalizzato creata per gli aggiornamenti Microsoft nel Passaggio 2. Passaggio 4.10. Fare clic su Fine. Passaggio 4.11. Fare clic su Sottometti.
4.12.Nella pagina Criteri di decrittografia, in Filtro URL, fare clic sul collegamento associato a questo nuovo criterio di decrittografia. 4.13.SelectPassThrough come azione per la categoria URL aggiornamenti Microsoft.
4.12. Fare clic su Sottometti. |
Passaggio 5. Creare un criterio di accesso per consentire la richiesta di intervalli per il traffico di aggiornamenti Microsoft |
5.1.Dalla GUI, fare clic su Web Security Manager e selezionare Access Policy (Policy di accesso). 5.2. Fare clic su Aggiungi criterio per aggiungere un criterio di accesso. 5.3.Assegnare un PolicyName univoco. 5.6.Da Profili di identificazione e utenti, scegliere Seleziona uno o più profili di identificazione. 5.7. Selezionare il profilo di identificazione creato al passo 3, quindi andare al passo 5.11. 5.8. Se non è stato creato alcun profilo ID per gli aggiornamenti di Windows, dalla sezione Avanzate scegliere Categorie URL personalizzate. 5.9. Aggiungere la categoria URL personalizzato creata per gli aggiornamenti Microsoft nel passaggio 2. 5.10. Fare clic su Fine. 5.11 Inoltra.
5.12. Nella pagina Criteri di accesso, in Filtro URL, fare clic sul collegamento associato a questi nuovi criteri di accesso 5.13.Selezionare Consenti come azione per la categoria URL personalizzato creata per gli aggiornamenti Microsoft. 5.14. Fare clic su Submit (Invia).
5.15. Nella pagina Criteri di accesso, in Applicazioni fare clic sul collegamento associato a questo nuovo criterio di accesso
5.16. Nella sezione Modifica impostazioni applicazioni, selezionare Definisci impostazioni personalizzate applicazioni. 5.17. Dalla sezione Impostazioni applicazioni, fare clic su Modifica tutto per l'applicazione Giochi, quindi impostare l'azione su Blocca. 5.18. Fare clic su Apply (Applica).
5.19. Scorrere verso il basso fino alla sezione Impostazioni richiesta intervallo per criterio, assicurarsi che Inoltra richieste intervallo sia selezionato,
5.20 Inoltra. 5.21. Nella pagina Criteri di accesso, in Applicazioni fare clic sul collegamento associato al criterio globale.
5.22. Scorrere verso il basso fino alla sezione Impostazioni richiesta intervallo per criterio, assicurarsi che Non inoltrare richieste intervallo sia selezionato, 5.23. Eseguire il commit delle modifiche. |
Per ottenere una maggiore visibilità sulle richieste Range dai log degli accessi, è possibile aggiungere i campi personalizzati seguenti:
| [Intervallo client = %<Intervallo:] |
Mostra l'intervallo richiesto dal client (byte) |
| [content= %>Content-Length:] |
Mostra le dimensioni del contenuto scaricato (byte) |
Per ulteriori informazioni sull'aggiunta di un campo personalizzato ai log degli accessi SWA, visitare il collegamento Configura parametro prestazioni nei log degli accessi
Utilizzare questo comando CURL per inviare una richiesta Range all'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
Dall'output del comando CURL, è possibile vedere che la risposta 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
Dai log degli accessi è possibile vedere che l'azione è 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"]
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
2.0 |
29-Jul-2026
|
Release iniziale |
1.0 |
25-Mar-2026
|
Versione iniziale |