

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

# Modifica dell'intestazione HTTP per il tuo Application Load Balancer
<a name="header-modification"></a>

La modifica dell'intestazione HTTP è supportata da Application Load Balancers, sia per le intestazioni di richiesta che per quelle di risposta. Senza dover aggiornare il codice dell'applicazione, la modifica dell'intestazione consente un maggiore controllo sul traffico e sulla sicurezza dell'applicazione.

Per abilitare la modifica dell'intestazione, consulta. [Abilita la modifica dell'intestazione](enable-header-modification.md)

## Rinominare mTLS/TLS le intestazioni
<a name="rename-header"></a>

La funzionalità di ridenominazione delle intestazioni consente di configurare i nomi delle intestazioni MTLS e TLS che Application Load Balancer genera e aggiunge alle richieste.

Questa capacità di modificare le intestazioni HTTP consente all'Application Load Balancer di supportare facilmente le applicazioni che utilizzano intestazioni di richiesta e risposta formattate in modo specifico.


| Header | Description | 
| --- | --- | 
|  X-Amzn-Mtls-Clientcert-Serial-Number  |  Assicura che il target possa identificare e verificare il certificato specifico presentato dal client durante l'handshake TLS.  | 
|  X-Amzn-Mtls-Clientcert-Issuer  |  Aiuta il destinatario a convalidare e autenticare il certificato client identificando l'autorità di certificazione che ha emesso il certificato.  | 
|  X-Amzn-Mtls-Clientcert-Subject  |  Fornisce all'obiettivo informazioni dettagliate sull'entità a cui è stato rilasciato il certificato client, il che facilita l'identificazione, l'autenticazione, l'autorizzazione e la registrazione durante l'autenticazione MTLS.  | 
|  X-Amzn-Mtls-Clientcert-Validity  |  Consente al destinatario di verificare che il certificato client utilizzato rientri nel periodo di validità definito, assicurando che il certificato non sia scaduto o utilizzato prematuramente.  | 
|  X-Amzn-Mtls-Clientcert-Leaf  |  Fornisce il certificato client utilizzato nell'handshake MTLS, che consente al server di autenticare il client e convalidare la catena di certificati. Ciò garantisce che la connessione sia sicura e autorizzata.  | 
|  X-Amzn-Mtls-Clientcert  |  Contiene il certificato client completo. Consente al destinatario di verificare l'autenticità del certificato, convalidare la catena di certificati e autenticare il client durante il processo di handshake mTLS.  | 
|  X-Amzn-TLS-Version  |  Indica la versione del protocollo TLS utilizzata per una connessione. Facilita la determinazione del livello di sicurezza della comunicazione, la risoluzione dei problemi di connessione e la garanzia della conformità.  | 
|  X-Amzn-TLS-Cipher-Suite  |  Indica la combinazione di algoritmi crittografici utilizzati per proteggere una connessione in TLS. Ciò consente al server di valutare la sicurezza della connessione, facilitare la risoluzione dei problemi di compatibilità e garantire la conformità alle politiche di sicurezza.  | 

## Aggiungi intestazioni di risposta
<a name="insert-header"></a>

Utilizzando gli insert header, puoi configurare l'Application Load Balancer per aggiungere intestazioni relative alla sicurezza alle risposte. Con questi attributi, è possibile inserire intestazioni tra cui HSTS, CORS e CSP.

Per impostazione predefinita, queste intestazioni sono vuote. Quando ciò accade, l'Application Load Balancer non modifica questa intestazione di risposta.

Quando abiliti un'intestazione di risposta, Application Load Balancer aggiunge l'intestazione con il valore configurato a tutte le risposte. Se la risposta di target include l'intestazione di risposta HTTP, il load balancer aggiorna il valore dell'intestazione in modo che sia il valore configurato. Altrimenti, il load balancer aggiunge l'intestazione di risposta HTTP alla risposta con il valore configurato.


| Header | Description | 
| --- | --- | 
|  Strict-Transport-Security  |  Implica le connessioni solo HTTPS da parte del browser per una durata specificata, contribuendo a proteggere da man-in-the-middle attacchi, downgrade del protocollo ed errori degli utenti. Garantisce che tutte le comunicazioni tra il client e la destinazione siano crittografate.  | 
|  Access-Control-Allow-Origin  |  Controlla se è possibile accedere alle risorse su una destinazione da origini diverse. Ciò consente interazioni sicure tra origini diverse, impedendo al contempo l'accesso non autorizzato.  | 
|  Access-Control-Allow-Methods  |  Speciifica i metodi HTTP consentiti quando si effettuano richieste tra origini diverse alla destinazione. Fornisce il controllo su quali azioni possono essere eseguite da origini diverse.  | 
|  Access-Control-Allow-Headers  |  Speciifica quali intestazioni personalizzate o non semplici possono essere incluse in una richiesta multiorigine. Questa intestazione consente ai target di controllare quali intestazioni possono essere inviate da client di origini diverse.  | 
|  Access-Control-Allow-Credentials  |  Speciifica se il client deve includere credenziali come cookie, autenticazione HTTP o certificati client nelle richieste tra origini diverse.  | 
|  Access-Control-Expose-Headers  |  Consente al target di specificare a quali intestazioni di risposta aggiuntive può accedere il client nelle richieste multiorigine.  | 
|  Access-Control-Max-Age  |  Definisce per quanto tempo il browser può memorizzare nella cache il risultato di una richiesta di preflight, riducendo la necessità di ripetuti controlli di preflight. Ciò aiuta a ottimizzare le prestazioni riducendo il numero di richieste OPTIONS necessarie per determinate richieste tra origini diverse.  | 
|  Content-Security-Policy  |  Funzionalità di sicurezza che previene gli attacchi di iniezione di codice come XSS controllando quali risorse come script, stili, immagini, ecc. possono essere caricate ed eseguite da un sito Web.  | 
|  X-Content-Type-Options  |  Con la direttiva no-sniff, migliora la sicurezza web impedendo ai browser di indovinare il tipo MIME di una risorsa. Garantisce che i browser interpretino il contenuto solo in base al Content-Type dichiarato  | 
|  X-Frame-Options  |  Meccanismo di sicurezza delle intestazioni che aiuta a prevenire gli attacchi di clickjacking controllando se una pagina Web può essere incorporata nei frame. Valori come DENY e SAMEORIGIN possono garantire che i contenuti non siano incorporati in siti Web dannosi o non affidabili.  | 

## Disabilita le intestazioni
<a name="disable-header"></a>

Utilizzando disable header, puoi configurare l'Application Load Balancer per disabilitare `server:awselb/2.0` l'intestazione dalle risposte. Ciò riduce l'esposizione delle informazioni specifiche del server, aggiungendo al contempo un ulteriore livello di protezione all'applicazione.

Il nome dell'attributo è`routing.http.response.server.enabled`. I valori disponibili sono `true` o`false`. Il valore predefinito è `true`.

## Limitazioni
<a name="header-modification-limits"></a>
+ I valori dell'intestazione possono contenere i seguenti caratteri
  + Caratteri alfanumerici:`a-z`, e `A-Z` `0-9`
  + Caratteri speciali: `_ :;.,\/'?!(){}[]@<>=-+*#&`|~^%`
+ Il valore dell'attributo non può superare la dimensione di 1.000 byte.
+ Elastic Load Balancing esegue convalide di input di base per verificare che il valore dell'intestazione sia valido. Tuttavia, la convalida non è in grado di confermare se il valore è supportato per un'intestazione specifica.
+ L'impostazione di un valore vuoto per qualsiasi attributo farà sì che Application Load Balancer torni al comportamento predefinito.

# Abilita la modifica dell'intestazione HTTP per il tuo Application Load Balancer
<a name="enable-header-modification"></a>

La modifica dell'intestazione è disattivata per impostazione predefinita e deve essere abilitata su ogni listener. Per ulteriori informazioni, consulta [Modifica dell'intestazione HTTP](header-modification.md).

------
#### [ Console ]

**Per abilitare la modifica dell'intestazione**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Seleziona **Sistemi di bilanciamento del carico** nel riquadro di navigazione.

1. Seleziona Application Load Balancer.

1. Nella scheda **Listener e regole**, seleziona il protocollo e la porta per aprire la pagina dei dettagli del tuo listener.

1. Nella scheda **Attributi**, seleziona **Modifica**.

   Gli attributi del listener sono organizzati in gruppi. Sceglierai quali funzionalità abilitare.

1. [Listener HTTPS] Nomi di intestazione **modificabili mTLS/TLS **

   1. **Espandi i nomi delle intestazioni modificabili. mTLS/TLS **

   1. Abilita le intestazioni della richiesta per modificarle e fornisci i loro nomi. Per ulteriori informazioni, consulta [Rinominare mTLS/TLS le intestazioni](header-modification.md#rename-header).

1. **Aggiungi le intestazioni di risposta**

   1. Espandi **Aggiungi intestazioni di risposta**.

   1. Abilita le intestazioni di risposta per aggiungere e fornire valori. Per ulteriori informazioni, consulta [Aggiungi intestazioni di risposta](header-modification.md#insert-header).

1. **Intestazione di risposta del server ALB**

   1. Abilita o disabilita l'intestazione **del server.**

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

------
#### [ AWS CLI ]

**Per abilitare la modifica dell'intestazione**  
Utilizza il comando [modify-listener-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-listener-attributes.html). Per l'elenco degli attributi, vedere[Attributi di modifica dell'intestazione](#header-modification-attributes).

```
aws elbv2 modify-listener-attributes \
    --listener-arn listener-arn \
    --attributes "Key=attribute-name,Value=attribute-value"
```

------
#### [ CloudFormation ]

**Per abilitare la modifica dell'intestazione**  
Aggiorna la [AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)risorsa per includere gli attributi. Per l'elenco degli attributi, vedere[Attributi di modifica dell'intestazione](#header-modification-attributes).

```
Resources:
  myHTTPlistener:
  Type: 'AWS::ElasticLoadBalancingV2::Listener'
  Properties:
    LoadBalancerArn: !Ref myLoadBalancer
    Protocol: HTTP
    Port: 80
    DefaultActions:
      - Type: "forward"
        TargetGroupArn: !Ref myTargetGroup
    ListenerAttributes:
      - Key: "attribute-name"
        Value: "attribute-value"
```

------

## Attributi di modifica dell'intestazione
<a name="header-modification-attributes"></a>

Di seguito sono riportati gli attributi di modifica dell'intestazione supportati da Application Load Balancers.

`routing.http.request.x_amzn_mtls_clientcert_serial_number.header_name`  
**Modifica il nome dell'intestazione di X-Amzn-Mtls-Clientcert-Serial-Number.**

`routing.http.request.x_amzn_mtls_clientcert_issuer.header_name`  
Modifica il nome dell'intestazione di **X-Amzn-Mtls-Clientcert-Issuer**.

`routing.http.request.x_amzn_mtls_clientcert_subject.header_name`  
Modifica il nome dell'intestazione di **X-Amzn-Mtls-Clientcert-Subject**.

`routing.http.request.x_amzn_mtls_clientcert_validity.header_name`  
Modifica il nome dell'intestazione di **X-Amzn-Mtls-Clientcert-Validity**.

`routing.http.request.x_amzn_mtls_clientcert_leaf.header_name`  
Modifica il nome dell'intestazione di **X-Amzn-Mtls-Clientcert-Leaf**.

`routing.http.request.x_amzn_mtls_clientcert.header_name`  
Modifica il nome dell'intestazione di **X-Amzn-Mtls-Clientcert**.

`routing.http.request.x_amzn_tls_version.header_name`  
Modifica il nome dell'intestazione di **X-Amzn-Tls-Version.**

`routing.http.request.x_amzn_tls_cipher_suite.header_name`  
**Modifica il nome dell'intestazione di X-Amzn-Tls-Cipher-Suite.**

`routing.http.response.server.enabled`  
Indica se consentire o rimuovere l'intestazione del server di risposta HTTP.

`routing.http.response.strict_transport_security.header_value`  
Aggiungi l'intestazione **Strict-Transport-Security** per informare i browser che è necessario accedere al sito solo tramite HTTPS e che eventuali tentativi futuri di accedervi tramite HTTP devono essere convertiti automaticamente in HTTPS.

`routing.http.response.access_control_allow_origin.header_value`  
Aggiungi l'intestazione **Access-Control-Allow-Origin per specificare a quali origini è consentito** accedere al server.

`routing.http.response.access_control_allow_methods.header_value`  
Aggiungi l'intestazione **Access-Control-Allow-Methods per specificare quali metodi HTTP sono consentiti** quando si accede al server da un'origine diversa.

`routing.http.response.access_control_allow_headers.header_value`  
Aggiungi l'intestazione **Access-Control-Allow-Headers per specificare quali intestazioni sono consentite durante** una richiesta multiorigine.

`routing.http.response.access_control_allow_credentials.header_value`  
Aggiungi l'intestazione **Access-Control-Allow-Credentials per indicare se il browser deve includere credenziali** come i cookie o l'autenticazione nelle richieste tra origini diverse.

`routing.http.response.access_control_expose_headers.header_value`  
Aggiungi l'intestazione **Access-Control-Expose-Headers per indicare quali intestazioni il browser può esporre** al client richiedente.

`routing.http.response.access_control_max_age.header_value`  
Aggiungi l'intestazione **Access-Control-Max-Age per specificare per quanto tempo i risultati di una richiesta di preflight possono essere memorizzati nella cache, in secondi**.

`routing.http.response.content_security_policy.header_value`  
Aggiungete l'intestazione **Content-Security-Policy per specificare le restrizioni applicate dal browser per ridurre al minimo il rischio di determinati tipi di minacce alla sicurezza**.

`routing.http.response.x_content_type_options.header_value`  
**Aggiungete l'intestazione **X-Content-Type-Options** per indicare se i tipi MIME pubblicizzati nelle intestazioni Content-Type devono essere seguiti e non modificati.**

`routing.http.response.x_frame_options.header_value`  
********Aggiungete l'intestazione **X-Frame-Options** per indicare se il browser è autorizzato a renderizzare una pagina in un frame, iframe, embed o oggetto.********