Restrizioni su tutte le funzioni edge - Amazon CloudFront

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Restrizioni su tutte le funzioni edge

Le restrizioni riportate di seguito si applicano a tutte le funzioni edge, sia le funzioni CloudFront che Lambda@Edge.

Account AWSProprietà di

Per associare una funzione edge a una distribuzione CloudFront, la funzione e la distribuzione devono essere di proprietà dello stesso Account AWS.

Combinazione delle funzioni CloudFront con Lambda@Edge

Per un determinato comportamento della cache, si applicano le seguenti restrizioni:

  • Ogni tipo di evento (richiesta del visualizzatore, richiesta dell'origine, risposta dell'origine e risposta del visualizzatore) può avere una sola associazione di funzioni edge.

  • Non è possibile combinare Funzioni CloudFront e Lambda@Edge negli eventi del visualizzatore (richiesta visualizzatore e risposta visualizzatore).

Sono consentite tutte le altre combinazioni di funzioni edge. Nella tabella seguente sono descritte le combinazioni consentite.

Funzioni CloudFront

Richiesta visualizzatore

Risposta visualizzatore

Lambda@Edge

Richiesta visualizzatore

Non consentito

Non consentito

Richiesta origine

Consentito

Consentito

Risposta origine

Consentito

Consentito

Risposta visualizzatore

Non consentito

Non consentito

Codici di stato HTTP

CloudFront non invoca funzioni edge per eventi di risposta visualizzatore se l’origine restituisce il codice di stato HTTP 400 o superiore.

Le funzioni Lambda@Edge per gli eventi di risposta di origine vengono richiamate per tutte le risposte di origine, incluso quando l'origine restituisce il codice di stato HTTP 400 o superiore. Per ulteriori informazioni, consulta Aggiornamento delle risposte HTTP nei trigger di risposta origine.

Intestazioni HTTP

Alcune intestazioni HTTP non sono consentite, il che significa che non sono esposte a funzioni edge e che le funzioni non possono aggiungerle. Altre intestazioni sono di sola lettura, il che significa che possono essere lette dalle funzioni ma non possono essere aggiunte, modificate o eliminate.

Intestazioni non consentite

Le seguenti intestazioni HTTP non sono esposte alle funzioni edge e le funzioni non possono aggiungerle. Se la tua funzione aggiunge una di queste intestazioni, la richiesta non ottiene la convalida di CloudFront e CloudFront restituisce il codice di stato HTTP 502 (Gateway non valido) al visualizzatore.

  • Connection

  • Expect

  • Keep-Alive

  • Proxy-Authenticate

  • Proxy-Authorization

  • Proxy-Connection

  • Trailer

  • Upgrade

  • X-Accel-Buffering

  • X-Accel-Charset

  • X-Accel-Limit-Rate

  • X-Accel-Redirect

  • X-Amz-Cf-*

  • X-Amzn-Auth

  • X-Amzn-Cf-Billing

  • X-Amzn-Cf-Id

  • X-Amzn-Cf-Xff

  • X-Amzn-Errortype

  • X-Amzn-Fle-Profile

  • X-Amzn-Header-Count

  • X-Amzn-Header-Order

  • X-Amzn-Lambda-Integration-Tag

  • X-Amzn-RequestId

  • X-Cache

  • X-Edge-*

  • X-Forwarded-Proto

  • X-Real-IP

Intestazioni di sola lettura

Le intestazioni di seguito sono di sola lettura. La funzione può leggerle e utilizzarle come input per la logica della funzione, ma non può modificarne i valori. Se la tua funzione aggiunge o modifica un'intestazione di sola lettura, la richiesta non ottiene la convalida di CloudFront e CloudFront restituisce il codice di stato HTTP 502 (Gateway non valido) al visualizzatore.

Intestazioni di sola lettura per eventi di richiesta del visualizzatore

Le seguenti intestazioni sono di sola lettura per gli eventi di richiesta del visualizzatore.

  • Content-Length

  • Host

  • Transfer-Encoding

  • Via

Intestazioni di sola lettura negli eventi di richiesta di origine (solo Lambda@Edge)

Le seguenti intestazioni sono di sola lettura negli eventi di richiesta di origine, che esistono solo in Lambda @Edge.

  • Accept-Encoding

  • Content-Length

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Transfer-Encoding

  • Via

Intestazioni di sola lettura negli eventi di risposta di origine (solo Lambda@Edge)

Le seguenti intestazioni sono di sola lettura negli eventi di risposta di origine, che esistono solo in Lambda@Edge.

  • Transfer-Encoding

  • Via

Intestazioni di sola lettura per eventi di risposta del visualizzatore

Le seguenti intestazioni sono di sola lettura negli eventi di risposta del visualizzatore per Funzioni CloudFront e Lambda @Edge.

  • Warning

  • Via

Le seguenti intestazioni sono di sola lettura per gli eventi di risposta del visualizzatore per Lambda@Edge.

  • Content-Length

  • Content-Encoding

  • Transfer-Encoding

Stringhe di query

Le restrizioni seguenti si applicano alle funzioni che leggono, aggiornano o creano una stringa di query in un URI di richiesta.

  • (Solo Lambda@Edge) Per accedere alla stringa di query in una funzione di richiesta di origine o di risposta di origine, la policy della cache o la policy di richiesta di origine deve essere impostata su Tuttiper Stringhe di query.

  • Una funzione può creare o aggiornare una stringa di query per gli eventi di richiesta del visualizzatore e richiesta di origine (gli eventi di richiesta origine esistono solo in Lambda@Edge).

  • Una funzione può leggere una stringa di query ma non può crearne o aggiornarne una per gli eventi di risposta origine e di risposta del visualizzatore (gli eventi di risposta origine esistono solo in Lambda@Edge).

  • Se una funzione crea o aggiorna una stringa di query, si applicano le seguenti restrizioni:

    • La stringa di query aggiornata non può includere spazi, caratteri di controllo o l'identificatore di frammento (#).

    • La dimensione totale dell'URI, compresa la stringa di query, deve essere inferiore a 8.192 caratteri.

    • Ti consigliamo di utilizzare la codifica percentuale per l'URI e la stringa di query. Per ulteriori informazioni, consulta Codifica di URI, stringa di query e intestazioni.

URI

Se una funzione modifica l'URI per una richiesta, il comportamento cache per la richiesta o l'origine a cui la richiesta viene inoltrata non viene modificato.

La dimensione totale dell'URI, compresa la stringa di query, deve essere inferiore a 8.192 caratteri.

Codifica di URI, stringa di query e intestazioni

I valori dell’URI, della stringa di query e delle intestazioni passati alle funzioni edge sono codificati UTF-8. La funzione deve utilizzare la codifica UTF-8 per i valori dell’URI, della stringa di query e delle intestazioni restituiti. La codifica percentuale è compatibile con la codifica UTF-8.

Nell’elenco seguente viene spiegato come CloudFront gestisce la codifica dell’URI, della stringa di query e delle intestazioni:

  • Quando i valori nella richiesta sono codificati in UTF-8, CloudFront inoltra i valori alla tua funzione senza modificarli.

  • Se i valori nella richiesta sono codificati in ISO-8859-1, CloudFront converte i valori in UTF-8 prima di inoltrarli alla funzione.

  • Se i valori nella richiesta sono codificati utilizzando una qualsiasi altra codifica caratteri, CloudFront presuppone che siano codificati in ISO-8859-1 e prova a convertirli da ISO-8859-1 a UTF-8.

    Importante

    I caratteri convertiti potrebbero essere un'interpretazione non accurata dei valori nella richiesta originale. In tal caso, una funzione o la tua origine potrebbe produrre un risultato inatteso.

I valori dell’URI, della stringa di query e delle intestazioni inoltrati da CloudFront all’origine dipendono dal fatto che una funzione modifichi i valori:

  • Se una funzione non modifica l’URI, la stringa di query o le intestazioni, CloudFront inoltra i valori che ha ricevuto nella richiesta all’origine.

  • Se una funzione non modifica l’URI, la stringa di query o l’intestazione, CloudFront inoltra i valori con codifica UTF-8.

Microsoft Smooth Streaming

Non è possibile utilizzare le funzioni edge con una distribuzione CloudFront utilizzata per lo streaming di file multimediali transcodificati in formato Microsoft Smooth Streaming.

Tagging

Non è possibile aggiungere tag alle funzioni edge. Per informazioni sull’applicazione di tag in CloudFront, consulta Tagging di una distribuzione.