

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

# Utilizzo di CloudFront funzioni con Origin Mutual TLS
<a name="origin-mtls-cloudfront-functions"></a>

CloudFront Functions offre un'elaborazione leggera e senza server all'avanguardia per personalizzare la distribuzione dei contenuti. Quando si utilizza Origin Mutual TLS con CloudFront Functions, esistono comportamenti e limitazioni specifici di cui tenere conto per quanto riguarda la selezione e la manipolazione dell'origine.

## Operazioni sulle funzioni supportate CloudFront
<a name="supported-cloudfront-functions-operations"></a>

CloudFront Le funzioni possono interagire con TLS-enabled m origin nei seguenti modi:

### aggiorna RequestOrigin ()
<a name="update-request-origin-function"></a>

La funzione update RequestOrigin () supporta modifiche limitate quando si lavora con m originTLS-enabled :
+ **Passaggio da un'origine MTL all'altra:** è possibile aggiornare la richiesta per instradare verso un'origine diversa che utilizza MTL di origine, a condizione che entrambe le origini utilizzino lo **stesso** certificato client. Ciò consente di implementare una logica di routing personalizzata mantenendo l'autenticazione TLS reciproca. Il passaggio da un'origine all'altra che utilizza certificati diversi è supportato tramite le API `selectRequestOriginById()` e`createRequestOriginGroup()`.
+ **Disabilitazione degli MTL di origine:** è possibile passare da un'TLS-enabled origine m a un'origine non MTLS impostando la funzione. `mTLSConfig: 'off'` Ciò offre la flessibilità necessaria per disabilitare in modo condizionale l'autenticazione TLS reciproca in base alle caratteristiche della richiesta.

#### Esempio: passaggio da un'origine MTLS di origine all'altra con lo stesso certificato
<a name="example-switching-mtls-origins"></a>

```
import cf from 'cloudfront';

function handler(event) {
    var request = event.request;

    // Route to different origin based on request path
    if (request.uri.startsWith('/api/v2')) {
        cf.updateRequestOrigin({
            "domainName": "api-v2.example.com",
            "mTLSConfig": "inherit",
            // If no value is provided for mTLSConfig, it defaults to inherit
            // Both origins must use the same certificate
        });
    }

    return request;
}
```

#### Esempio: disabilitazione condizionale degli MTL di origine
<a name="example-disabling-mtls"></a>

```
import cf from 'cloudfront';

function handler(event) {
    var request = event.request;

    // Disable mTLS for specific paths
    if (request.uri.startsWith('/public')) {
        cf.updateRequestOrigin({
            "domainName": "public-origin.example.com",
            "mTLSConfig": "off"
        });
    }

    return request;
}
```

### seleziona () RequestOriginById
<a name="select-request-origin-by-id-mtls"></a>

La `selectRequestOriginById()` funzione supporta la selezione di origini con TLS (origine) reciproco abilitato. Puoi usare questa funzione per indirizzare dinamicamente le richieste verso le mie TLS-enabled origini configurate nella tua distribuzione. Quando si seleziona un'origine mutua abilitata per TLS (origine) tramite ID, CloudFront utilizza il certificato client configurato per quell'origine nelle impostazioni di distribuzione.

#### Esempio: selezione di un'origine mutua abilitata per TLS (origine) tramite ID
<a name="example-select-mtls-origin-by-id"></a>

```
import cf from 'cloudfront';

function handler(event) {
    var request = event.request;

    // Select mTLS-enabled origin based on request characteristics
    if (request.uri.startsWith('/secure-api')) {
        cf.selectRequestOriginById("mtls-origin-1");
    }

    return request;
}
```

### creare RequestOriginGroup ()
<a name="create-request-origin-group-mtls"></a>

La `createRequestOriginGroup()` funzione supporta la creazione di gruppi di origine che includono origini mutue abilitate per TLS (origin). È possibile creare dinamicamente gruppi di origine con m TLS-enabled origin per scenari di failover all'interno di Functions. CloudFront 

#### Esempio: creazione di un gruppo di origine con origini mutue abilitate per TLS (origin)
<a name="example-create-mtls-origin-group"></a>

```
import cf from 'cloudfront';

function handler(event) {
    // Create origin group with mTLS-enabled primary and failover origins
    cf.createRequestOriginGroup({
        "originIds": ["mtls-origin-primary", "mtls-origin-failover"],
        "failoverCriteria": {
            "statusCodes": [500, 502, 503, 504]
        }
    });

    return event.request;
}
```