Salta al contenuto

Come posso configurare CloudFront per inoltrare l'intestazione host all'origine?

3 minuti di lettura
0

L'origine configurata nella mia distribuzione di Amazon CloudFront utilizza l'hosting virtuale. Desidero configurare la mia distribuzione per inoltrare l'intestazione host al mio server di origine.

Breve descrizione

Per configurare la distribuzione in modo che inoltri l'intestazione dell'host all'origine, esegui una delle seguenti azioni:

  • Crea una policy della cache e una policy di richiesta di origine.
  • Modifica le impostazioni di un comportamento esistente nella distribuzione.

Se crei una policy personalizzata per le origini di Gateway Amazon API senza un dominio personalizzato, non inoltrare l'intestazione host. Altrimenti ricevi un errore "403 error".

Importante: per le origini Amazon Simple Storage Service (Amazon S3), CloudFront non supporta le cache basate sull'intestazione host. Per ulteriori informazioni, consulta Seleziona le intestazioni su cui basare la memorizzazione nella cache.

Risoluzione

Crea una policy della cache e una policy di richiesta di origine

Completa i seguenti passaggi:

  1. Apri la console CloudFront.
  2. Nel pannello di navigazione, scegli Policies (Policy).
  3. Nella sezione Custom policies (Policy personalizzate), scegli Create cache policy (Crea policy della cache).
  4. In Cache key settings (Impostazioni delle chiavi della cache), per Headers (Intestazioni), scegli Include the following headers (Includi le seguenti intestazioni).
  5. Dall'elenco a discesa Add header (Aggiungi intestazione), scegli Host.
  6. Completa tutte le altre impostazioni della policy della cache in base alle esigenze.
  7. Scegli Create (Crea).
  8. Collega le policy al comportamento pertinente della distribuzione di CloudFront.

Modifica le impostazioni di un comportamento esistente nella distribuzione

Completa i seguenti passaggi:

  1. Apri la console CloudFront.
  2. Seleziona la distribuzione.
  3. Scegli la scheda Behaviors (Comportamenti), quindi scegli il percorso a cui inoltrare l'intestazione host.
  4. Scegli Edit (Modifica).
  5. Verifica che l'opzione Cache key and origin requests (Chiave della cache e richieste di origine) sia impostata su Legacy cache settings (Impostazioni della cache precedenti).
    Nota: se l'opzione non è impostata su Legacy cache settings (Impostazioni della cache precedenti), completa la procedura descritta nella sezione precedente per creare una policy della cache.
  6. In Legacy cache settings (Impostazioni della cache precedenti), per Headers (Intestazioni), scegli Include the following headers (Includi le seguenti intestazioni).
  7. Dal menu Add header (Aggiungi intestazione), scegli Host.
  8. Scegli Save Changes (Salva modifiche).

(Facoltativo) Inoltra l'intestazione con un nome diverso

Per inoltrare il valore dell'intestazione host con un nome di intestazione personalizzato o diverso, utilizza una funzione CloudFront o una funzione AWS Lambda@Edge.

Per inoltrare l'intestazione con un nome diverso, completa i seguenti passaggi:

  1. Controlla l'intestazione host in arrivo.
    Nota: per le funzioni CloudFront, controlla l'evento richiesta del visualizzatore. Per Lambda@Edge, controlla l'](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-cloudfront-trigger-events.html)evento richiesta di visualizzazione o di origine[.
  2. Per memorizzare il valore dell'intestazione host dalla richiesta di un client nell'intestazione, utilizza il comando function handler Lambda nella richiesta del visualizzatore.
    Nota: ad esempio, se l'intestazione host in arrivo è host, aggiungi una nuova intestazione con lo stesso valore. Vedi il seguente esempio di codice:
    function handler(event) {    const request = event.request;
        const headers = request.headers;
        const host = request.headers.host.value;
        headers['x-forwarded-host'] = { "value": host }
        return request
    }
    Nota: questo esempio di funzione attiva un evento richiesta del visualizzatore.
  3. Per inoltrare l'intestazione personalizzata all'origine, configura la policy di richiesta della cache o dell'host in modo da inserire l'intestazione X-Forwarded-Host nella lista di intestazioni consentite. Per ulteriori informazioni, consulta Comportamento di richieste e risposte per origini personalizzate.

Informazioni correlate

Contenuto della cache in base alle intestazioni delle richieste

Controlla la chiave della cache con una policy