

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

# Impostazione di intestazioni personalizzate
<a name="setting-custom-headers"></a>

Esistono due modi per specificare intestazioni HTTP personalizzate per un'app Amplify. Puoi specificare le intestazioni nella console Amplify oppure puoi specificare le intestazioni scaricando e modificando il file di un'app e salvandolo nella directory principale `customHttp.yml` del progetto.

**Per impostare intestazioni personalizzate per un'app e salvarle nella console**

1. Accedi Console di gestione AWS e apri la console [Amplify.](https://console.aws.amazon.com/amplify/)

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

1. Nel pannello di navigazione, scegli **Hosting**, quindi scegli **Intestazioni personalizzate**.

1. **Nella pagina **Intestazioni personalizzate**, scegli Modifica.**

1. Nella finestra **Modifica intestazioni personalizzate**, inserisci le informazioni per le intestazioni personalizzate utilizzando il formato YAML dell'[intestazione personalizzata](custom-header-YAML-format.md).

   1. Per`pattern`, inserisci lo schema da abbinare.

   1. Per`key`, inserisci il nome dell'intestazione personalizzata.

   1. Per`value`, inserisci il valore dell'intestazione personalizzata.

1. Scegli **Save** (Salva).

1. Ridistribuisci l'app per applicare le nuove intestazioni personalizzate.
   + **Per un' CI/CD app, vai alla filiale da distribuire e scegli Ridistribuisci questa versione.** Puoi anche eseguire una nuova build dal tuo repository Git.
   + Per un'app con distribuzione manuale, distribuisci nuovamente l'app nella console Amplify.

**Per impostare intestazioni personalizzate per un'app e salvarle nella radice del tuo repository**

1. Accedi Console di gestione AWS e apri la console [Amplify.](https://console.aws.amazon.com/amplify/)

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

1. Nel pannello di navigazione, scegli **Hosting**, quindi scegli **Intestazioni personalizzate**.

1. Nella pagina **Intestazioni personalizzate**, scegli **Scarica** YML.

1. Apri il `customHttp.yml` file scaricato nell'editor di codice che preferisci e inserisci le informazioni per le intestazioni personalizzate utilizzando il formato YAML dell'[intestazione personalizzata](custom-header-YAML-format.md).

   1. Per`pattern`, inserisci lo schema da abbinare.

   1. Per`key`, inserisci il nome dell'intestazione personalizzata.

   1. Per`value`, inserisci il valore dell'intestazione personalizzata.

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

1. Ridistribuisci l'app per applicare le nuove intestazioni personalizzate.
   + Per un' CI/CD app, esegui una nuova build dal tuo repository Git che includa il nuovo `customHttp.yml` file.
   + Per un'app con 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 sostituiscono le intestazioni personalizzate definite nella **sezione Intestazioni personalizzate della console Amplify**.

## Esempio di intestazioni personalizzate di sicurezza
<a name="example-security-headers"></a>

Le intestazioni di sicurezza personalizzate consentono di far rispettare l'HTTPS, prevenire gli attacchi XSS e difendere il browser dal clickjacking. Utilizza 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'"
```

## Impostazione delle intestazioni personalizzate di Cache-Control
<a name="example-cache-headers"></a>

Le app ospitate con Amplify rispettano `Cache-Control` le intestazioni inviate dall'origine, a meno che non le sovrascriviate con intestazioni personalizzate da voi definite. Amplify applica solo le intestazioni personalizzate Cache-Control per risposte riuscite con un codice di stato. `200 OK` Ciò impedisce che le risposte agli errori vengano memorizzate nella cache e inviate ad altri utenti che effettuano la stessa richiesta.

Puoi modificare manualmente la `s-maxage` direttiva per avere un maggiore controllo sulle prestazioni e sulla disponibilità di implementazione 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) eseguendo l'aggiornamento `s-maxage` a un valore più lungo del valore predefinito di 600 secondi (10 minuti).

Per specificare un valore personalizzato per`s-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, consulta. [Utilizzo dell'intestazione Cache-Control per aumentare le prestazioni dell'app](Using-headers-to-control-cache-duration.md)