Intestazioni personalizzate - AWS Amplify Ospitare

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à.

Intestazioni personalizzate

Le intestazioni HTTP personalizzate consentono di specificare le intestazioni per ogni risposta HTTP. Le intestazioni di risposta possono essere utilizzate per scopi di debug, sicurezza e informativi. Puoi specificare le intestazioni nel AWS Management Console file o scaricando e modificando il customHttp.yml file di un'app e salvandolo nella directory principale del progetto. Per le procedure dettagliate, consulta Impostazione di intestazioni personalizzate.

In precedenza, le intestazioni HTTP personalizzate venivano specificate per un'app modificando le specifiche di build (buildspec) AWS Management Console o scaricando e aggiornando il amplify.yml file e salvandolo nella directory principale del progetto. Le intestazioni personalizzate specificate in questo modo devono essere migrate dal buildspec e dal file. amplify.yml Per istruzioni, consulta Migrazione delle intestazioni personalizzate.

Formato YAML dell'intestazione personalizzato

Specifica le intestazioni personalizzate utilizzando il seguente formato YAML:

customHeaders: - pattern: '*.json' headers: - key: 'custom-header-name-1' value: 'custom-header-value-1' - key: 'custom-header-name-2' value: 'custom-header-value-2' - pattern: '/path/*' headers: - key: 'custom-header-name-1' value: 'custom-header-value-2'

Per un monorepo, usa il seguente formato YAML:

applications: - appRoot: app1 customHeaders: - pattern: '**/*' headers: - key: 'custom-header-name-1' value: 'custom-header-value-1' - appRoot: app2 customHeaders: - pattern: '/path/*.json' headers: - key: 'custom-header-name-2' value: 'custom-header-value-2'

Quando aggiungi intestazioni personalizzate alla tua app, specificherai i tuoi valori per quanto segue:

pattern

Le intestazioni personalizzate vengono applicate a tutti i percorsi dei file URL che corrispondono al modello.

headers

Definisce le intestazioni che corrispondono al modello del file.

key

Il nome dell'intestazione personalizzata.

value

Il valore dell'intestazione personalizzata.

Per ulteriori informazioni sulle intestazioni HTTP, consulta l'elenco delle intestazioni HTTP di Mozilla.

Impostazione di intestazioni personalizzate

Esistono due modi per specificare intestazioni HTTP personalizzate per un'AWS Amplifyapp. Puoi specificare le intestazioni in AWS Management Console oppure puoi specificare le intestazioni scaricando e modificando il customHttp.yml file di un'app e salvandolo nella directory principale del tuo progetto.

Per impostare intestazioni personalizzate per un'app in AWS Management Console
  1. Accedi AWS Management Console e apri la console Amplify.

  2. Scegli l'app per cui impostare intestazioni personalizzate.

  3. Nel riquadro di navigazione, scegli Impostazioni app, Intestazioni personalizzate.

  4. Nella sezione Specifiche dell'intestazione personalizzata, scegli Modifica.

  5. Nella finestra Modifica, inserisci le informazioni per le tue intestazioni personalizzate utilizzando il formato YAML dell'intestazione personalizzata.

    1. Perpattern, inserisci lo schema da abbinare.

    2. Perkey, inserisci il nome dell'intestazione personalizzata.

    3. Pervalue, inserisci il valore dell'intestazione personalizzata.

  6. Seleziona Salva.

  7. Ridistribuisci l'app per applicare le nuove intestazioni personalizzate.

    • Per un'app CI/CD, accedi alla filiale da implementare e scegli Ridistribuisci questa versione. Puoi anche eseguire una nuova build dal tuo repository Git.

    • Per un'app di distribuzione manuale, distribuisci nuovamente l'app nella console Amplify.

Per impostare intestazioni personalizzate utilizzando il file customHttp.yml
  1. Accedi AWS Management Console e apri la console Amplify.

  2. Scegli l'app per cui impostare intestazioni personalizzate.

  3. Nel riquadro di navigazione, scegli Impostazioni app, Intestazioni personalizzate.

  4. Nella sezione Specifiche dell'intestazione personalizzata, scegli Scarica.

  5. Apri il customHttp.yml file scaricato nell'editor di codice di tua scelta e inserisci le informazioni per le tue intestazioni personalizzate utilizzando il formato YAML dell'intestazione personalizzata.

    1. Perpattern, inserisci lo schema da abbinare.

    2. Perkey, inserisci il nome dell'intestazione personalizzata.

    3. Pervalue, inserisci il valore dell'intestazione personalizzata.

  6. Salva il customHttp.yml file modificato nella directory principale del tuo progetto. Se stai lavorando con un monorepo, salva il customHttp.yml file nella cartella principale del tuo repository.

  7. Ridistribuisci l'app per applicare le nuove intestazioni personalizzate.

    • Per un'app CI/CD, esegui una nuova build dal tuo repository Git che include il nuovo file. customHttp.yml

    • Per un'app di distribuzione manuale, distribuisci nuovamente l'app nella console Amplify e includi il nuovo customHttp.yml file con gli artefatti che carichi.

Nota

Le intestazioni personalizzate impostate nel customHttp.yml file e distribuite nella directory principale dell'app sovrascriveranno le intestazioni personalizzate definite nella sezione Intestazioni personalizzate di. AWS Management Console

Migrazione delle intestazioni personalizzate

In precedenza, le intestazioni HTTP personalizzate venivano specificate per un'app modificando la build spec AWS Management Console o scaricando e aggiornando il amplify.yml file e salvandolo nella directory principale del progetto. Si consiglia vivamente di migrare le intestazioni personalizzate dal buildspec e dal file. amplify.yml

Specifica le intestazioni personalizzate nella sezione Intestazioni personalizzate di AWS Management Console o scaricando e modificando il customHttp.yml file.

Per migrare le intestazioni personalizzate archiviate nella console Amplify
  1. Accedi AWS Management Console e apri la console Amplify.

  2. Scegli l'app su cui eseguire la migrazione dell'intestazione personalizzata.

  3. Nel riquadro di navigazione, scegli Impostazioni app, Impostazioni di creazione. Nella sezione delle specifiche di creazione dell'app, puoi esaminare le specifiche di build della tua app.

  4. Scegli Scarica per salvare una copia della tua build attuale. È possibile fare riferimento a questa copia in un secondo momento se è necessario ripristinare le impostazioni.

  5. Quando il download è completo, scegli Modifica.

  6. Prendi nota delle informazioni personalizzate dell'intestazione del file, poiché le utilizzerai più avanti nel passaggio 9. Nella finestra Modifica, elimina tutte le intestazioni personalizzate dal file e scegli Salva.

  7. Nel riquadro di navigazione, scegli Impostazioni app, Intestazioni personalizzate.

  8. Nella sezione Specifiche dell'intestazione personalizzata, scegli Modifica.

  9. Nella finestra Modifica, inserisci le informazioni relative alle intestazioni personalizzate che hai eliminato nel passaggio 6.

  10. Seleziona Salva.

  11. Ridistribuisci qualsiasi ramo a cui desideri applicare le nuove intestazioni personalizzate.

Per migrare le intestazioni personalizzate da amplify.yml a CustomHttp.yml
  1. Vai al amplify.yml file attualmente distribuito nella directory principale della tua app.

  2. Apri amplify.yml nell'editor di codice di tua scelta.

  3. Prendi nota delle informazioni personalizzate dell'intestazione del file, poiché le utilizzerai più avanti nel passaggio 8. Elimina le intestazioni personalizzate nel file. Salva e chiudi il file.

  4. Accedi AWS Management Console e apri la console Amplify.

  5. Scegli l'app per cui impostare intestazioni personalizzate.

  6. Nel riquadro di navigazione, scegli Impostazioni app, Intestazioni personalizzate.

  7. Nella sezione Specifiche dell'intestazione personalizzata, scegli Scarica.

  8. Apri il customHttp.yml file scaricato nell'editor di codice di tua scelta e inserisci le informazioni per le intestazioni personalizzate che hai eliminato amplify.yml nel passaggio 3.

  9. Salva il customHttp.yml file modificato nella directory principale del tuo progetto. Se stai lavorando con un monorepo, salva il file nella cartella principale del tuo repository.

  10. Ridistribuisci l'app per applicare le nuove intestazioni personalizzate.

    • Per un'app CI/CD, esegui una nuova build dal tuo repository Git che include il nuovo file. customHttp.yml

    • Per un'app di distribuzione manuale, distribuisci nuovamente l'app nella console Amplify e includi il nuovo customHttp.yml file con gli artefatti che carichi.

Nota

Le intestazioni personalizzate impostate nel customHttp.yml file e distribuite nella directory principale dell'app sovrascriveranno le intestazioni personalizzate definite nella sezione Intestazioni personalizzate di. AWS Management Console

Header personalizzati Monorepo

Quando specifichi intestazioni personalizzate per un'app in un monorepo, tieni presente i seguenti requisiti di configurazione:

  • Esiste un formato YAML specifico per un monorepo. Per la sintassi corretta, vedereFormato YAML dell'intestazione personalizzato.

  • È possibile specificare intestazioni personalizzate per un'applicazione in un monorepo utilizzando la sezione Intestazioni personalizzate di. AWS Management Console Tieni presente che devi ridistribuire l'applicazione per applicare le nuove intestazioni personalizzate.

  • In alternativa all'utilizzo della console, puoi specificare intestazioni personalizzate per un'app in un monorepo in un file. customHttp.yml È necessario salvare il customHttp.yml file nella cartella principale del repository e quindi ridistribuire l'applicazione per applicare le nuove intestazioni personalizzate. Le intestazioni personalizzate specificate nel customHttp.yml file sovrascrivono tutte le intestazioni personalizzate specificate utilizzando la sezione Intestazioni personalizzate di. AWS Management Console

Esempio di intestazioni di sicurezza

Le intestazioni di sicurezza personalizzate consentono di applicare il protocollo HTTPS, prevenire gli attacchi XSS e difendere il browser dal clickjacking. Usa la seguente sintassi YAML per applicare intestazioni di sicurezza personalizzate alla tua app.

customHeaders: - pattern: '**' headers: - key: 'Strict-Transport-Security' value: 'max-age=31536000; includeSubDomains' - key: 'X-Frame-Options' value: 'SAMEORIGIN' - key: 'X-XSS-Protection' value: '1; mode=block' - key: 'X-Content-Type-Options' value: 'nosniff' - key: 'Content-Security-Policy' value: "default-src 'self'"

Esempio di intestazione di controllo della cache

Puoi modificare manualmente la s-maxage direttiva per avere un maggiore controllo sulle prestazioni e sulla disponibilità di distribuzione della tua app. Ad esempio, per aumentare il periodo di tempo in cui i contenuti rimangono memorizzati nella cache periferica, puoi aumentare manualmente il time to live (TTL) aggiornandolo s-maxage a un valore più lungo del valore predefinito di 600 secondi (10 minuti).

Per specificare un valore personalizzato pers-maxage, utilizzate il seguente formato YAML. Questo esempio mantiene il contenuto associato memorizzato nella cache periferica per 3600 secondi (un'ora).

customHeaders: - pattern: '/img/*' headers: - key: 'Cache-Control' value: 's-maxage=3600'

Per ulteriori informazioni sul controllo delle prestazioni delle applicazioni con le intestazioni, vedereUtilizzo delle intestazioni per controllare la durata della cache.