Aggiunta di intestazioni personalizzate alle richieste di origine - Amazon CloudFront

Aggiunta di intestazioni personalizzate alle richieste di origine

È possibile configurare CloudFront per aggiungere intestazioni personalizzate alle richieste inviate all'origine. Puoi utilizzare intestazioni personalizzate per inviare e raccogliere informazioni dall’origine che non si ottengono con richieste tipiche del visualizzatore. Puoi anche personalizzare le intestazioni per ogni origine. CloudFront supporta intestazioni personalizzate per origini personalizzate e origini Amazon S3.

Casi d'uso

Puoi utilizzare intestazioni personalizzate, come riportato nei seguenti esempi:

Identificazione delle richieste da CloudFront

È possibile identificare le richieste che l'origine riceve da CloudFront. Ciò è utile per sapere se gli utenti aggirano CloudFront oppure se usano più di un CDN per ottenere informazioni su quali richieste provengono da ogni CDN.

Nota

Se utilizzi un'origine Amazon S3 e attivi la registrazione degli accessi al server Amazon S3, i log non includono le informazioni dell'intestazione.

Determinare quali richieste provengono da una particolare distribuzione

Se si configura più di una distribuzione CloudFront per utilizzare la stessa origine, è possibile aggiungere intestazioni personalizzate diverse in ogni distribuzione. È quindi possibile utilizzare i registri dell'origine per determinare quali richieste provengono da quale distribuzione CloudFront.

Abilitazione della funzionalità Cross-Origin Resource Sharing (CORS)

Se alcuni dei visualizzatori non supportano CORS (Cross-origin Resource Sharing), è possibile configurare CloudFront per aggiungere sempre l'intestazione Origin alle richieste inviate all'origine. Quindi puoi configurare la tua origine per restituire l'intestazione Access-Control-Allow-Origin per ogni richiesta. È inoltre necessario configurare CloudFront per rispettare le impostazioni CORS.

Controllo dell'accesso ai contenuti

È possibile utilizzare intestazioni personalizzate per controllare l'accesso ai contenuti. Configurando l'origine per rispondere alle richieste solo quando includono un'intestazione personalizzata aggiunta da CloudFront, si impedisce agli utenti di ignorare CloudFront e accedere al contenuto direttamente sull'origine. Per ulteriori informazioni, consulta Limitazione dell’accesso ai file su origini personalizzate.

Configurazione di CloudFront per aggiungere intestazioni personalizzate alle richieste origine

Per configurare una distribuzione in modo da aggiungere intestazioni personalizzate alle richieste inviate all'origine, aggiornare la configurazione di origine utilizzando uno dei seguenti metodi:

  • Console CloudFront: quando crei o aggiorni una distribuzione, specifica i nomi e i valori delle intestazioni nelle impostazioni Aggiungi intestazioni personalizzate. Per ulteriori informazioni, consulta Aggiunta di intestazioni personalizzate.

  • API CloudFront: per ogni origine a cui si desidera aggiungere intestazioni personalizzate, specificare i nomi e i valori dell'intestazione nel campo CustomHeaders all'interno di Origin. Per ulteriori informazioni, consulta CreateDistribution o UpdateDistribution nella Documentazione di riferimento delle API di Amazon CloudFront.

Se i nomi e i valori delle intestazioni che specifichi non sono già presenti nella richiesta del visualizzatore, CloudFront li aggiunge alla richiesta di origine. Se un'intestazione è presente, CloudFront sovrascrive il valore dell'intestazione prima di inoltrare la richiesta all'origine.

Per le quote che si applicano alle intestazioni personalizzate di origine, consulta Quote delle intestazioni.

Intestazioni personalizzate che CloudFront non può aggiungere alle richieste di origine

Non è possibile configurare CloudFront per l'aggiunta di una delle seguenti intestazioni alle richieste inviate all'origine:

  • Cache-Control

  • Connection

  • Content-Length

  • Cookie

  • Host

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Pragma

  • Proxy-Authenticate

  • Proxy-Authorization

  • Proxy-Connection

  • Range

  • Request-Range

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

  • Via

  • Intestazioni che iniziano con X-Amz-

  • Intestazioni che iniziano con X-Edge-

  • X-Real-Ip

Configurazione di CloudFront per inoltrare l’intestazione Authorization

Quando CloudFront inoltra una richiesta di visualizzatore all'origine, CloudFront rimuove alcune intestazioni del visualizzatore per impostazione predefinita, inclusa l'intestazione Authorization. Per assicurarti che l'origine riceva sempre l'intestazione Authorization nelle richieste di origine, sono disponibili le seguenti opzioni:

  • Aggiungere l'intestazione Authorization alla chiave cache utilizzando una policy di cache. Tutte le intestazioni nella chiave cache vengono incluse automaticamente nelle richieste di origine. Per ulteriori informazioni, consulta Controllo della chiave della cache con una policy.

  • Utilizzare una policy di richiesta di origine che inoltra tutte le intestazioni del visualizzatore all'origine. Non è possibile inoltrare l'intestazione Authorization singolarmente in una policy di richiesta di origine, ma quando si inoltrano tutte le intestazioni del visualizzatore, CloudFront include l'intestazione Authorization nelle richieste del visualizzatore. CloudFront fornisce una policy di richiesta di origine gestita per questo caso d'uso, denominata Managed-AllViewer. Per ulteriori informazioni, consulta Utilizzo delle policy di richiesta origine gestite.