

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Contrôle des demandes d’origine à l’aide d’une stratégie
<a name="controlling-origin-requests"></a>

Lorsqu'une demande d'affichage CloudFront entraîne un *échec du cache* (l'objet demandé n'est pas mis en cache à l'emplacement périphérique), CloudFront envoie une demande à l'origine pour récupérer l'objet. C'est ce qu'on appelle une *demande d'origine*. La demande d'origine inclut toujours les informations suivantes provenant de la demande de l'utilisateur :
+ Le chemin d'URL (le chemin uniquement, sans les chaînes de requête d'URL ou le nom de domaine)
+ Le corps de la requête (s'il y en a un)
+ Les en-têtes HTTP qui CloudFront sont automatiquement inclus dans chaque demande d'origine, notamment `Host``User-Agent`, et `X-Amz-Cf-Id`

D'autres informations provenant de la demande de l'utilisateur, telles que les chaînes de requête URL, les en-têtes HTTP et les cookies, ne sont pas incluses dans la demande d'origine par défaut. (Exception : avec les anciens paramètres de cache CloudFront , les en-têtes sont transférés par défaut vers votre origine.) Toutefois, vous pouvez demander à recevoir certaines de ces autres informations à l’origine, par exemple pour collecter des données à des fins d’analyse ou de télémétrie. Vous pouvez utiliser une *stratégie de demande d'origine* pour contrôler les informations incluses dans une demande d'origine. 

Les stratégies de demande d'origine sont séparées des [stratégies de cache](controlling-the-cache-key.md), qui contrôlent la clé de cache. Ainsi, vous pouvez recevoir des informations supplémentaires à l’origine et maintenir un bon *taux d’accès au cache* (proportion de demandes de l’utilisateur qui entraînent un accès au cache). Pour ce faire, contrôlez séparément quelles informations sont incluses dans les demandes d'origine (à l'aide de la stratégie de demande d'origine) et celles qui sont incluses dans la clé de cache (à l'aide de la stratégie de cache).

Bien que les deux types de stratégie soient distincts, elles sont liées. Toutes les chaînes de requête URL, les en-têtes HTTP et les cookies que vous incluez dans la clé de cache (à l'aide d'une stratégie de cache) sont automatiquement inclus dans les requêtes d'origine. Utilisez la stratégie de demande d'origine pour spécifier les informations que vous souhaitez inclure dans les demandes d'origine, mais *pas* dans la clé de cache. Tout comme une politique de cache, vous associez une politique de demande d'origine à un ou plusieurs comportements de cache dans une CloudFront distribution.

Vous pouvez également utiliser une stratégie de demande d'origine pour ajouter des en-têtes HTTP supplémentaires à une demande d'origine qui n'étaient pas inclus dans la demande de l'utilisateur. Ces en-têtes supplémentaires sont ajoutés CloudFront avant l'envoi de la demande d'origine, avec des valeurs d'en-tête qui sont déterminées automatiquement en fonction de la demande du spectateur. Pour de plus amples informations, veuillez consulter [Ajouter des en-têtes de CloudFront demande](adding-cloudfront-headers.md).

**Topics**
+ [Compréhension des stratégies de demande d’origine](origin-request-understand-origin-request-policy.md)
+ [Création de stratégies de demande d’origine](origin-request-create-origin-request-policy.md)
+ [Utilisation des stratégies de demande d’origine gérées](using-managed-origin-request-policies.md)
+ [Ajouter des en-têtes de CloudFront demande](adding-cloudfront-headers.md)
+ [Comprendre comment les politiques de demande d’origine et les politiques de cache fonctionnent ensemble](understanding-how-origin-request-policies-and-cache-policies-work-together.md)

# Compréhension des stratégies de demande d’origine
<a name="origin-request-understand-origin-request-policy"></a>

CloudFront fournit des politiques de demande d'origine prédéfinies, appelées *politiques gérées*, pour les cas d'utilisation courants. Vous pouvez utiliser ces stratégies gérées ou créer votre propre stratégie de demande d'origine spécifique à vos besoins. Pour plus d’informations sur les stratégies gérées, consultez [Utilisation des stratégies de demande d’origine gérées](using-managed-origin-request-policies.md).

Une stratégie de demande d'origine contient les paramètres suivants, qui sont classés en *informations de stratégie* et en *paramètres de demande d'origine*.

## Informations sur les stratégies
<a name="origin-request-understand-origin-request-policy-info"></a>

**Nom**  
Nom permettant d'identifier la stratégie de demande d'origine. Dans la console, vous utilisez le nom pour attacher la stratégie de demande d'origine à un comportement de cache.

**Description**  
Commentaire décrivant la stratégie de demande de l'origine. Facultative.

## Paramètres de la demande d'origine
<a name="origin-request-understand-origin-request-policy-settings"></a>

Les paramètres de demande d'origine spécifient les valeurs des demandes du lecteur qui sont incluses dans les demandes CloudFront envoyées à l'origine (appelées demandes d'origine). Les valeurs peuvent inclure des chaînes de requête URL, des en-têtes HTTP et des cookies. Les valeurs que vous spécifiez sont incluses dans les demandes d'origine, mais ne sont pas incluses dans la clé de cache. Pour plus d’informations sur le contrôle de la clé cache, consultez [Contrôle de la clé de cache à l’aide d’une politique](controlling-the-cache-key.md).

**En-têtes**  
Les en-têtes HTTP dans les demandes du lecteur, CloudFront y compris dans les demandes d'origine. Pour les en-têtes, vous pouvez choisir l'un des paramètres suivants :  
+ **Aucun** : les en-têtes HTTP des demandes de l'utilisateur *ne sont pas* inclus dans les demandes d'origine.
+ **Tous les en-têtes de l'utilisateur** : tous les en-têtes HTTP des demandes de l'utilisateur sont inclus dans les demandes d'origine.
+ **Tous les en-têtes du visualiseur et les CloudFront en-têtes suivants** : tous les en-têtes HTTP des requêtes du visualiseur sont inclus dans les requêtes d'origine. En outre, vous spécifiez les CloudFront en-têtes que vous souhaitez ajouter aux demandes d'origine. Pour plus d'informations sur les CloudFront en-têtes, consultez[Ajouter des en-têtes de CloudFront demande](adding-cloudfront-headers.md).
+ **Include the following headers** (Inclure les en-têtes suivants) : vous spécifiez quels en-têtes HTTP sont inclus dans les demandes d'origine.
**Note**  
Ne spécifiez pas un en-tête déjà inclus dans vos paramètres **En-têtes personnalisés de l'origine**. Pour de plus amples informations, veuillez consulter [Configurer CloudFront pour ajouter des en-têtes personnalisés aux demandes d'origine](add-origin-custom-headers.md#add-origin-custom-headers-configure).
+ **Tous les en-têtes de visionnage, à l'exception de** – vous spécifiez les en-têtes HTTP qui ***ne sont pas*** inclus dans les demandes d'origine. Tous les autres en-têtes HTTP contenus dans les demandes de visionnage, à l'exception de ceux spécifiés, sont inclus.
Lorsque vous utilisez **tous les en-têtes de visionneuse et les CloudFront en-têtes suivants, incluez les** **en-têtes suivants ou Tous les en-têtes** **de visionneuse sauf le paramètre, vous spécifiez les en-têtes** HTTP uniquement par leur nom d'en-tête. CloudFront inclut l'en-tête complet, y compris sa valeur, dans les demandes d'origine.  
Lorsque vous utilisez le paramètre **Tous les en-têtes du lecteur sauf** pour supprimer l'`Host`en-tête du lecteur, vous ajoutez CloudFront un nouvel `Host` en-tête avec le nom de domaine de l'origine à la demande d'origine.

**Cookies **  
Les cookies contenus dans les demandes des utilisateurs, CloudFront y compris dans les demandes d'origine. Pour les cookies, vous pouvez choisir l'un des paramètres suivants :  
+ **Aucun** : les cookies dans les demandes de l'utilisateur *ne sont pas* inclus dans les demandes d'origine.
+ **Tous** : tous les cookies dans les demandes de l'utilisateur sont inclus dans les demandes d'origine.
+ **Inclure les cookies suivants** – vous spécifiez quels cookies figurant dans les demandes de visionnage sont inclus dans les demandes d'origine.
+ **Tous les cookies sauf** – vous spécifiez quels cookies figurant dans les demandes de visionnage ***ne sont pas*** inclus dans les demandes d'origine. Tous les autres cookies figurant dans les demandes de visionnage sont inclus.
Lorsque vous utilisez le paramètre **Inclure les cookies suivants** ou **Tous les cookies sauf**, vous spécifiez les cookies uniquement par leur nom. CloudFront inclut le cookie complet, y compris sa valeur, dans les demandes d'origine.

**Chaînes de requête**  
Les chaînes de requête d'URL contenues dans les demandes du visualiseur, CloudFront y compris dans les demandes d'origine. Pour les chaînes de requête, vous pouvez choisir l'un des paramètres suivants :  
+ **Aucun** : les chaînes de requête dans les demandes de l'utilisateur *ne sont pas* incluses dans les demandes d'origine.
+ **Toutes** : toutes les chaînes de requête dans les demandes de l'utilisateur sont incluses dans les demandes d'origine.
+ **Inclure les chaînes de requête suivantes** – vous spécifiez quelles chaînes de requête figurant dans les demandes de visionnage sont incluses dans les demandes d'origine.
+ **Toutes les chaînes de requête sauf** – vous spécifiez quelles chaînes de requête figurant dans les demandes de visionnage ***ne sont pas*** incluses dans les demandes d'origine. Toutes les autres chaînes de requête sont incluses.
Lorsque vous utilisez le paramètre **Inclure les chaînes de requête suivantes** ou **Toutes les chaînes de requête sauf**, vous spécifiez les chaînes de requête uniquement par leur nom. CloudFront inclut la chaîne de requête complète, y compris sa valeur, dans les demandes d'origine.

# Création de stratégies de demande d’origine
<a name="origin-request-create-origin-request-policy"></a>

Vous pouvez utiliser une politique de demande d'origine pour contrôler les valeurs (chaînes de requête URL, en-têtes HTTP et cookies) incluses dans les demandes CloudFront envoyées à votre origine. Vous pouvez créer une politique de demande d'origine dans la CloudFront console, avec le AWS Command Line Interface (AWS CLI) ou avec l' CloudFront API.

Après avoir créé une politique de demande d'origine, vous l'associez à un ou plusieurs comportements de cache dans une CloudFront distribution.

Les stratégies de demande d'origine ne sont pas obligatoires. Lorsqu'un comportement de cache n'a pas de stratégie de demande d'origine attachée, la demande d'origine inclut toutes les valeurs spécifiées dans la [stratégie de cache](cache-key-understand-cache-policy.md), mais rien de plus.

**Note**  
Pour utiliser une stratégie de demande d'origine, le comportement de cache doit également utiliser une [stratégie de cache](controlling-the-cache-key.md). Vous ne pouvez pas utiliser de stratégie de demande d'origine dans un comportement de cache sans stratégie de cache.

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

**Pour créer une stratégie de demande d'origine (console)**

1. Connectez-vous à la page **Politiques AWS Management Console et ouvrez-la** dans la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

1. Choisissez **Origin request** (Demande d'origine), puis **Create origin request policy** (Créer une stratégie de demande d'origine).

1. Choisissez le paramètre souhaité pour cette stratégie de demande d'origine. Pour plus d'informations, consultez [Compréhension des stratégies de demande d’origine](origin-request-understand-origin-request-policy.md).

1. Lorsque vous avez terminé, choisissez **Create** (Créer).

Après avoir créé une stratégie de demande d'origine, vous pouvez l'attacher à un comportement de cache.

**Pour attacher une stratégie de demande d'origine à une distribution existante (console)**

1. Ouvrez la page **Distributions** dans la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Choisissez la distribution à mettre à jour, puis choisissez l'onglet **Comportements**.

1. Choisissez le comportement du cache à mettre à jour, puis choisissez **Modifier**.

   Ou, pour créer un nouveau comportement de cache, choisissez **Create behavior** (Créer un comportement).

1. Dans la section **Clé de cache et demandes d’origine**, assurez-vous que l’option **Politique de cache et politique de demande d’origine** est sélectionnée.

1. Pour **Origin request policy** (Stratégie de demande d'origine), choisissez la stratégie de demande d'origine à attacher à ce comportement de cache.

1. Choisissez **Save changes** (Enregistrer les modifications) en bas de la page.

**Pour attacher une stratégie de demande d'origine à une nouvelle distribution (console)**

1. Ouvrez la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Choisissez **Create distribution** (Créer une distribution).

1. Dans la section **Clé de cache et demandes d’origine**, assurez-vous que l’option **Politique de cache et politique de demande d’origine** est sélectionnée.

1. Pour **Origin request policy** (Stratégie de demande d'origine), choisissez la stratégie de demande d'origine à attacher au comportement de cache par défaut de cette distribution.

1. Choisissez les paramètres souhaités pour l’origine, le comportement de cache par défaut et les autres paramètres de distribution. Pour plus d'informations, consultez [Référence de tous les paramètres de distribution](distribution-web-values-specify.md).

1. Lorsque vous avez terminé, choisissez **Create distribution** (Créer une distribution).

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

Pour créer une politique de demande d'origine avec le AWS Command Line Interface (AWS CLI), utilisez la **aws cloudfront create-origin-request-policy** commande. Vous pouvez utiliser un fichier d’entrée pour fournir les paramètres d’entrée de la commande, plutôt que de spécifier chaque paramètre individuel comme entrée de ligne de commande.

**Pour créer une stratégie de demande d'origine (CLI avec un fichier d'entrée)**

1. Utilisez la commande suivante pour créer un fichier nommé `origin-request-policy.yaml` qui contient tous les paramètres d’entrée de la commande **create-origin-request-policy**.

   ```
   aws cloudfront create-origin-request-policy --generate-cli-skeleton yaml-input > origin-request-policy.yaml
   ```

1. Ouvrez le fichier nommé `origin-request-policy.yaml` que vous venez de créer. Modifiez le fichier pour spécifier les paramètres de stratégie de demande d'origine que vous souhaitez, puis enregistrez le fichier. Vous pouvez supprimer des champs facultatifs du fichier, mais ne supprimez pas les champs obligatoires.

   Pour plus d’informations sur les paramètres de stratégie de demande d’origine, consultez [Compréhension des stratégies de demande d’origine](origin-request-understand-origin-request-policy.md).

1. Utilisez la commande suivante pour créer la stratégie de demande d'origine à l'aide des paramètres d'entrée du fichier `origin-request-policy.yaml`.

   ```
   aws cloudfront create-origin-request-policy --cli-input-yaml file://origin-request-policy.yaml
   ```

   Notez la valeur `Id` dans la sortie de la commande. Il s'agit de l'ID de politique de demande d'origine, dont vous avez besoin pour associer la politique de demande d'origine au comportement du cache d'une CloudFront distribution.

**Pour attacher une stratégie de demande d'origine à une distribution existante (CLI avec un fichier d'entrée)**

1. Utilisez la commande suivante pour enregistrer la configuration de distribution pour la CloudFront distribution que vous souhaitez mettre à jour. Remplacez *distribution\$1ID* par l'ID de la distribution.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Ouvrez le fichier nommé `dist-config.yaml` que vous venez de créer. Modifiez le fichier en apportant les modifications suivantes à chaque comportement de cache que vous mettez à jour pour utiliser une stratégie de demande d'origine.
   + Dans le comportement du cache, ajoutez un champ nommé `OriginRequestPolicyId`. Pour la valeur du champ, utilisez l'ID de stratégie de demande d'origine que vous avez noté après la création de la stratégie.
   + Renommez le champ `ETag` en `IfMatch`, mais ne modifiez pas la valeur du champ.

   Enregistrez le fichier lorsque vous avez terminé.

1. Utilisez la commande suivante pour mettre à jour la distribution afin d'utiliser la stratégie de demande d'origine. Remplacez *distribution\$1ID* par l'ID de la distribution.

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**Pour attacher une stratégie de demande d'origine à une nouvelle distribution (CLI avec un fichier d'entrée)**

1. Utilisez la commande suivante pour créer un fichier nommé `distribution.yaml` qui contient tous les paramètres d’entrée de la commande **create-distribution**.

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. Ouvrez le fichier nommé `distribution.yaml` que vous venez de créer. Dans le comportement de cache par défaut, dans le champ `OriginRequestPolicyId`, entrez l'ID de stratégie de demande d'origine que vous avez noté après la création de la stratégie. Poursuivez la modification du fichier pour spécifier les paramètres de distribution souhaité, puis enregistrez le fichier lorsque vous avez terminé.

   Pour plus d’informations sur les paramètres de distribution, consultez [Référence de tous les paramètres de distribution](distribution-web-values-specify.md).

1. Utilisez la commande suivante pour créer la distribution à l’aide des paramètres d’entrée du fichier `distribution.yaml`.

   ```
   aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
   ```

------
#### [ API ]

Pour créer une politique de demande d'origine avec l' CloudFront API, utilisez [CreateOriginRequestPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateOriginRequestPolicy.html). Pour plus d'informations sur les champs que vous spécifiez dans cet appel d'API, consultez [Compréhension des stratégies de demande d’origine](origin-request-understand-origin-request-policy.md) la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

Après avoir créé une stratégie de demande d'origine, vous pouvez l'attacher à un comportement de cache, à l'aide de l'un des appels d'API suivants :
+ Pour l'associer à un comportement de cache dans une distribution existante, utilisez [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Pour l'associer à un comportement de cache dans une nouvelle distribution, utilisez [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Pour ces deux appels d'API, indiquez l'ID de la stratégie de demande d'origine dans le champ `OriginRequestPolicyId`, à l'intérieur d'un comportement de cache. Pour plus d'informations sur les autres champs que vous spécifiez dans ces appels d'API, consultez [Référence de tous les paramètres de distribution](distribution-web-values-specify.md) la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

------

# Utilisation des stratégies de demande d’origine gérées
<a name="using-managed-origin-request-policies"></a>

CloudFront fournit un ensemble de politiques de demande d'origine gérées que vous pouvez associer à tous les comportements de cache de votre distribution. Avec une stratégie de demande d'origine gérée, vous n'avez pas besoin d'écrire ou de gérer votre propre stratégie de demande d'origine. Les stratégies gérées utilisent des paramètres optimisés pour des cas d’utilisation spécifiques.

Pour utiliser une stratégie de demande d'origine gérée, vous l'attachez à un comportement de cache dans votre distribution. Le processus est le même que lorsque vous créez une stratégie de demande d'origine, mais au lieu d'en créer une nouvelle, vous n'avez qu'à attacher l'une des stratégies de demande d'origine gérée. Vous joignez la politique soit par son nom (avec la console), soit par son identifiant (avec le AWS CLI ou SDKs). Les noms et IDs les noms sont répertoriés dans la section suivante.

Pour de plus amples informations, veuillez consulter [Création de stratégies de demande d’origine](origin-request-create-origin-request-policy.md).

Les rubriques suivantes décrivent les stratégies de demande d’origine gérées que vous pouvez utiliser.

**Topics**
+ [AllViewer](#managed-origin-request-policy-all-viewer)
+ [AllViewerAndCloudFrontHeaders-20/06](#managed-origin-request-policy-all-viewer-and-cloudfront)
+ [AllViewerExceptHostHeader](#managed-origin-request-policy-all-viewer-except-host-header)
+ [CORS- CustomOrigin](#managed-origin-request-policy-cors-custom)
+ [CORS-S3Origin](#managed-origin-request-policy-cors-s3)
+ [Élémentaire- - MediaTailor PersonalizedManifests](#managed-origin-request-policy-mediatailor)
+ [HostHeaderOnly](#managed-origin-request-policy-host-header-only)
+ [UserAgentRefererHeaders](#managed-origin-request-policy-user-agent-referer)

## AllViewer
<a name="managed-origin-request-policy-all-viewer"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/216adef6-5c7f-47e4-b989-5492eafa07d3)

Cette politique inclut toutes les valeurs (en-têtes, cookies et chaînes de requête) dans la demande de visionnage.

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`216adef6-5c7f-47e4-b989-5492eafa07d3`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d'origine :** Tous les en-têtes de la demande de l'utilisateur
+ **Cookies inclus dans les demandes d’origine :** Tous
+ **Chaînes de requête incluses dans les demandes d’origine :** Toutes

## AllViewerAndCloudFrontHeaders-20/06
<a name="managed-origin-request-policy-all-viewer-and-cloudfront"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/33f36d7e-f396-46d9-90e0-52428a34d9dc)

Cette politique inclut toutes les valeurs (en-têtes, cookies et chaînes de requête) de la demande du lecteur, ainsi que tous les [CloudFront en-têtes](adding-cloudfront-headers.md) publiés jusqu'en juin 2022 (CloudFront les en-têtes publiés après juin 2022 ne sont pas inclus).

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`33f36d7e-f396-46d9-90e0-52428a34d9dc`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d'origine :** tous les en-têtes de la demande de visualisation, ainsi que les en-têtes suivants : CloudFront 
  + `CloudFront-Forwarded-Proto`
  + `CloudFront-Is-Android-Viewer`
  + `CloudFront-Is-Desktop-Viewer`
  + `CloudFront-Is-IOS-Viewer`
  + `CloudFront-Is-Mobile-Viewer`
  + `CloudFront-Is-SmartTV-Viewer`
  + `CloudFront-Is-Tablet-Viewer`
  + `CloudFront-Viewer-Address`
  + `CloudFront-Viewer-ASN`
  + `CloudFront-Viewer-City`
  + `CloudFront-Viewer-Country`
  + `CloudFront-Viewer-Country-Name`
  + `CloudFront-Viewer-Country-Region`
  + `CloudFront-Viewer-Country-Region-Name`
  + `CloudFront-Viewer-Http-Version`
  + `CloudFront-Viewer-Latitude`
  + `CloudFront-Viewer-Longitude`
  + `CloudFront-Viewer-Metro-Code`
  + `CloudFront-Viewer-Postal-Code`
  + `CloudFront-Viewer-Time-Zone`
  + `CloudFront-Viewer-TLS`
+ **Cookies inclus dans les demandes d’origine :** Tous
+ **Chaînes de requête incluses dans les demandes d’origine :** Toutes

## AllViewerExceptHostHeader
<a name="managed-origin-request-policy-all-viewer-except-host-header"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/b689b0a8-53d0-40ab-baf2-68738e2966ac)

Cette politique ***n'inclut pas*** l'en-tête `Host` de la demande de visionnage, mais inclut toutes les autres valeurs (en-têtes, cookies et chaînes de requête) de la demande de visionnage.

Cette politique inclut également des [en-têtes de CloudFront demande](adding-cloudfront-headers.md) supplémentaires pour le protocole HTTP, la version HTTP, la version TLS, ainsi que tous les en-têtes de type d'appareil et de localisation du spectateur.

Cette politique est destinée à être utilisée avec Amazon API Gateway et les origines des URL des AWS Lambda fonctions. Ces origines supposent que l'`Host`en-tête contienne le nom de domaine d'origine, et non le nom de domaine de la CloudFront distribution. Le transfert de l'en-tête `Host` de la demande de visionnage vers ces origines peut empêcher leur fonctionnement.

**Note**  
Lorsque vous utilisez cette politique de gestion des demandes d'origine pour supprimer l'`Host`en-tête du lecteur, vous CloudFront ajoutez un nouvel `Host` en-tête avec le nom de domaine de l'origine à la demande d'origine.

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`b689b0a8-53d0-40ab-baf2-68738e2966ac`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d'origine :** tous les en-têtes de la demande de visionnage ***à l'exception de*** l'en-tête `Host`
+ **Cookies inclus dans les demandes d’origine :** Tous
+ **Chaînes de requête incluses dans les demandes d’origine :** Toutes

## CORS- CustomOrigin
<a name="managed-origin-request-policy-cors-custom"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/59781a5b-3903-41f3-afcb-af62929ccde1)

Cette stratégie inclut l'en-tête qui active les demandes de partage de ressources croisées (CORS) lorsque l'origine est une origine personnalisée.

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`59781a5b-3903-41f3-afcb-af62929ccde1`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d'origine :**
  + `Origin`
+ **Cookies inclus dans les demandes d’origine :** Aucun
+ **Chaînes de requête incluses dans les demandes d’origine :** Aucune

## CORS-S3Origin
<a name="managed-origin-request-policy-cors-s3"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/88a5eaf4-2fd4-4709-b370-b4c650ea3fcf)

Cette stratégie inclut les en-têtes qui activent les demandes de partage de ressources croisées (CORS) lorsque l'origine est un compartiment Amazon S3.

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`88a5eaf4-2fd4-4709-b370-b4c650ea3fcf`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d'origine :**
  + `Origin`
  + `Access-Control-Request-Headers`
  + `Access-Control-Request-Method`
+ **Cookies inclus dans les demandes d’origine :** Aucun
+ **Chaînes de requête incluses dans les demandes d’origine :** Aucune

## Élémentaire- - MediaTailor PersonalizedManifests
<a name="managed-origin-request-policy-mediatailor"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/775133bc-15f2-49f9-abea-afb2e0bf67d2)

Cette stratégie est destinée à être utilisée avec une origine correspondant à un point de terminaison AWS Elemental MediaTailor .

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`775133bc-15f2-49f9-abea-afb2e0bf67d2`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d'origine :**
  + `Origin`
  + `Access-Control-Request-Headers`
  + `Access-Control-Request-Method`
  + `User-Agent`
  + `X-Forwarded-For`
+ **Cookies inclus dans les demandes d'origine :** Aucun
+ **Chaînes de requête incluses dans les demandes d’origine :** Toutes

## HostHeaderOnly
<a name="managed-origin-request-policy-host-header-only"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/bf0718e1-ba1e-49d1-88b1-f726733018ae)

Cette stratégie inclut uniquement l’en-tête `Host` de la demande d’origine. Il n’inclut pas de chaînes de requête ni de cookies.

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`bf0718e1-ba1e-49d1-88b1-f726733018ae`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d’origine :** hôte
+ **Cookies inclus dans les demandes d’origine :** Aucun
+ **Chaînes de requête incluses dans les demandes d’origine :** Aucune

## UserAgentRefererHeaders
<a name="managed-origin-request-policy-user-agent-referer"></a>

[Afficher cette politique dans la CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/acba4595-bd28-49b8-b9fe-13317c0390fa)

Cette stratégie inclut uniquement les en-têtes `User-Agent` et `Referer`. Il n'inclut pas de chaînes de requête ni de cookies.

Lors de l'utilisation CloudFormation de l' AWS CLI API ou de l' CloudFront API, l'identifiant de cette politique est le suivant :

`acba4595-bd28-49b8-b9fe-13317c0390fa`

Cette stratégie possède les paramètres suivants :
+ **En-têtes inclus dans les demandes d'origine :**
  + `User-Agent`
  + `Referer`
+ **Cookies inclus dans les demandes d’origine :** Aucun
+ **Chaînes de requête incluses dans les demandes d’origine :** Aucune

# Ajouter des en-têtes de CloudFront demande
<a name="adding-cloudfront-headers"></a>

Vous pouvez configurer CloudFront pour ajouter des en-têtes HTTP spécifiques aux demandes CloudFront reçues des utilisateurs et transmises à votre [fonction d'origine ou de périphérie](edge-functions.md). Les valeurs de ces en-têtes HTTP sont basées sur des caractéristiques de l'utilisateur ou sur la demande de l’utilisateur. Les en-têtes fournissent des informations sur le type d'appareil, l'adresse IP, l'emplacement géographique, le protocole de demande (HTTP ou HTTPS), la version HTTP, les détails de la connexion TLS, l'empreinte digitale et JA4 l'[JA3 empreinte digitale](https://github.com/salesforce/ja3) du spectateur. Vous pouvez également configurer le comportement du cache de votre distribution pour transférer WebSocket les en-têtes. Pour de plus amples informations, veuillez consulter [Utilisation WebSockets avec les CloudFront distributions](distribution-working-with.websockets.md).

Avec ces en-têtes, votre origine ou votre fonction périphérique peut recevoir des informations sur l'utilisateur sans avoir besoin d'écrire votre propre code pour déterminer ces informations. Si votre origine renvoie des réponses différentes en fonction des informations contenues dans ces en-têtes, vous pouvez les inclure dans la *clé de cache* afin que les réponses soient CloudFront mises en cache séparément. Par exemple, votre origine peut répondre avec du contenu dans une langue spécifique en fonction du pays dans lequel se trouve le visualiseur, ou avec du contenu adapté à un type d'appareil spécifique. Votre origine peut également écrire ces en-têtes dans des fichiers journaux, que vous pouvez utiliser pour déterminer où se trouvent vos spectateurs, quels types d'appareils ils se trouvent, et plus encore.

Pour inclure ces en-têtes dans la clé de cache, utilisez une *politique de cache*. Pour plus d’informations, consultez [Contrôle de la clé de cache à l’aide d’une politique](controlling-the-cache-key.md) et [Comprendre la clé de cache](understanding-the-cache-key.md).

Pour recevoir des en-têtes à l'origine sans les inclure dans la clé de cache, utilisez une *politique de demande de l'origine*. Pour plus d’informations, consultez [Contrôle des demandes d’origine à l’aide d’une stratégie](controlling-origin-requests.md).

**Topics**
+ [En-têtes de type d’appareil](#cloudfront-headers-device-type)
+ [En-têtes de l’emplacement de l’utilisateur](#cloudfront-headers-viewer-location)
+ [En-têtes permettant de déterminer la structure de l’en-tête de l’utilisateur](#cloudfront-headers-viewer-headers)
+ [En-têtes liés à TLS](#tls-related-versions)
+ [Autres CloudFront en-têtes](#cloudfront-headers-other)

## En-têtes de type d’appareil
<a name="cloudfront-headers-device-type"></a>

Vous pouvez ajouter les en-têtes suivants pour déterminer le type d'appareil de l'utilisateur. En fonction de la valeur de l'`User-Agent`en-tête, CloudFront définit la valeur de ces en-têtes sur `true` ou`false`. Si un appareil entre dans plusieurs catégories, plusieurs valeurs peuvent être `true`. Par exemple, pour certaines tablettes, CloudFront définit à la fois `CloudFront-Is-Mobile-Viewer` et `CloudFront-Is-Tablet-Viewer` à`true`.
+ `CloudFront-Is-Android-Viewer`— Réglé sur `true` quand CloudFront détermine que le spectateur est un appareil doté du système d'exploitation Android.
+ `CloudFront-Is-Desktop-Viewer`— Réglé sur le `true` moment où CloudFront détermine que le lecteur est un appareil de bureau.
+ `CloudFront-Is-IOS-Viewer`— Réglé sur `true` quand CloudFront détermine que le spectateur est un appareil doté d'un système d'exploitation mobile Apple, tel qu'un iPhone, un iPod touch et certains iPad.
+ `CloudFront-Is-Mobile-Viewer`— Réglé sur le `true` moment où CloudFront détermine que le spectateur est un appareil mobile.
+ `CloudFront-Is-SmartTV-Viewer`— Réglé sur le `true` moment où CloudFront détermine que le téléspectateur est un téléviseur intelligent.
+ `CloudFront-Is-Tablet-Viewer`— Réglé sur le `true` moment où CloudFront détermine que le lecteur est une tablette.

## En-têtes de l’emplacement de l’utilisateur
<a name="cloudfront-headers-viewer-location"></a>

Vous pouvez ajouter les en-têtes suivants pour déterminer la position du spectateur. CloudFront détermine les valeurs de ces en-têtes en fonction de l'adresse IP du spectateur. [Pour les caractères non ASCII dans les valeurs de ces en-têtes, le CloudFront pourcentage code le caractère conformément à la section 1.2 de la RFC 3986.](https://tools.ietf.org/html/rfc3986#section-2.1)
+ `CloudFront-Viewer-Address` : contient l'adresse IP de l'utilisateur et le port source de la demande. Par exemple, une valeur d'en-tête de `198.51.100.10:46532` signifie que l'adresse IP de l’utilisateur est 198.51.100.10 et que le port source de la demande est 46532.
+ `CloudFront-Viewer-ASN` : contient le numéro de système autonome (ASN) de l'utilisateur.
**Note**  
Vous pouvez ajouter `CloudFront-Viewer-Address` et `CloudFront-Viewer-ASN` dans une politique de demande d'origine, mais pas dans une politique de cache.
+ `CloudFront-Viewer-Country` – Contient le code de pays à deux lettres du pays de l’utilisateur. Pour obtenir une liste des codes de pays, consultez [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
+ `CloudFront-Viewer-City` – Contient le nom de la ville de l’utilisateur.

Lorsque vous ajoutez les en-têtes suivants, CloudFront appliquez-les à toutes les demandes, à *l'exception* de celles qui proviennent du AWS réseau :
+ `CloudFront-Viewer-Country-Name` – Contient le nom du pays de l’utilisateur.
+ `CloudFront-Viewer-Country-Region` – Contient un code (jusqu’à trois caractères) représentant la région de l’utilisateur. La région est la subdivision de premier niveau (la plus large ou la moins spécifique) du code [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).
+ `CloudFront-Viewer-Country-Region-Name` – Contient le nom de la région de l’utilisateur. La région est la subdivision de premier niveau (la plus large ou la moins spécifique) du code [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).
+ `CloudFront-Viewer-Latitude` – Contient la latitude approximative de l’utilisateur.
+ `CloudFront-Viewer-Longitude` – Contient la longitude approximative de l'utilisateur.
+ `CloudFront-Viewer-Metro-Code` – Contient le code régional de l'utilisateur. Ceci n'est présent que lorsque l'utilisateur est aux États-Unis.
+ `CloudFront-Viewer-Postal-Code` – Contient le code postal de l'utilisateur.
+ `CloudFront-Viewer-Time-Zone` Contient le fuseau horaire de l'utilisateur, au [format de base de données de fuseau horaire IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (par exemple, `America/Los_Angeles`).

**Note**  
`CloudFront-Viewer-City`, `CloudFront-Viewer-Metro-Code` et `CloudFront-Viewer-Postal-Code` peuvent ne pas être disponibles pour chaque adresse IP. Certaines adresses IP ne peuvent pas être géolocalisées avec suffisamment de précision pour obtenir ces informations.

## En-têtes permettant de déterminer la structure de l’en-tête de l’utilisateur
<a name="cloudfront-headers-viewer-headers"></a>

Vous pouvez ajouter les en-têtes suivants pour identifier l’utilisateur en fonction des en-têtes qu'il envoie. Par exemple, différents navigateurs peuvent envoyer des en-têtes HTTP dans un certain ordre. Si le navigateur spécifié dans l'en-tête `User-Agent` ne correspond pas à l'ordre d'en-tête attendu par ce navigateur, vous pouvez refuser la demande. De plus, si la valeur `CloudFront-Viewer-Header-Count` ne correspond pas au nombre d'en-têtes de `CloudFront-Viewer-Header-Order`, vous pouvez refuser la demande.
+ `CloudFront-Viewer-Header-Order` : contient les noms d'en-tête de l'utilisateur dans l'ordre demandé, séparés par deux points. Par exemple : `CloudFront-Viewer-Header-Order: Host:User-Agent:Accept:Accept-Encoding`. Les en-têtes dépassant la limite de 7 680 caractères sont tronqués.
+ `CloudFront-Viewer-Header-Count` : contient le nombre total d'en-têtes de l'utilisateur.

## En-têtes liés à TLS
<a name="tls-related-versions"></a>

Vous pouvez ajouter les en-têtes suivants pour déterminer l' JA3 empreinte digitale, JA4 l'empreinte digitale et les détails de connexion TLS du spectateur :
+ `CloudFront-Viewer-JA3-Fingerprint`— Contient l'[JA3 empreinte digitale](https://github.com/salesforce/ja3) du spectateur. L' JA3 empreinte digitale peut vous aider à déterminer si la demande provient d'un client connu, s'il s'agit d'un logiciel malveillant ou d'un bot malveillant, ou d'une application attendue (liste autorisée). 
+ `CloudFront-Viewer-JA4-Fingerprint`— Contient l' JA4empreinte digitale du spectateur. Tout comme l' JA3 empreinte digitale, l'[JA4 empreinte digitale](https://github.com/FoxIO-LLC/ja4) peut vous aider à déterminer si la demande provient d'un client connu, s'il s'agit d'un logiciel malveillant ou d'un bot malveillant, ou d'une application attendue (liste autorisée). Vous pouvez utiliser l’empreinte pour constituer une base de données d’acteurs connus, fiables ou malveillants, à appliquer lors de l’inspection des demandes HTTP. Vous pouvez ensuite inspecter la valeur d'en-tête sur les serveurs Web de votre application ou dans vos [Lambda @Edge](lambda-at-the-edge.md) et [CloudFront Functions](cloudfront-functions.md) pour comparer la valeur d'en-tête à une liste d'empreintes de logiciels malveillants connus afin de bloquer les clients malveillants.
+ `CloudFront-Viewer-TLS`— Contient la SSL/TLS version, le code et les informations relatives à la SSL/TLS poignée de main qui ont été utilisées pour établir la connexion entre le spectateur et. CloudFront Spécifiez la valeur au format suivant :

  ```
  SSL/TLS_version:cipher:handshake_information
  ```

  Pour `handshake_information`, l'en-tête peut contenir les valeurs suivantes :
  + `fullHandshake`— Une poignée de main complète a été effectuée pendant la SSL/TLS session.
  + `sessionResumed`— Une SSL/TLS session précédente a été reprise.
  + `connectionReused`— Une SSL/TLS connexion précédente a été réutilisée.

  Voici quelques exemples de valeurs pour cet en-tête.

  ```
  TLSv1.3:TLS_AES_128_GCM_SHA256:sessionResumed
  ```

  ```
  TLSv1.2:ECDHE-ECDSA-AES128-GCM-SHA256:connectionReused
  ```

  ```
  TLSv1.1:ECDHE-RSA-AES128-SHA256:fullHandshake
  ```

  ```
  TLSv1:ECDHE-RSA-AES256-SHA:fullHandshake
  ```

  Pour la liste complète des SSL/TLS versions et des chiffrements possibles pouvant figurer dans cette valeur d'en-tête, consultez. [Protocoles et chiffrements pris en charge entre les utilisateurs et CloudFront](secure-connections-supported-viewer-protocols-ciphers.md)

**Remarques**  
Les JA4 empreintes digitales JA3 et sont dérivées du SSL/TLS `Client Hello` paquet. Elles ne sont présentes que pour les demandes HTTPS.
Ces en-têtes liés à TLS peuvent être ajoutés à une [politique de demande d’origine](controlling-origin-requests.md), mais ne peuvent pas être inclus dans une [politique de cache](controlling-the-cache-key.md).

## Autres CloudFront en-têtes
<a name="cloudfront-headers-other"></a>

Vous pouvez ajouter les en-têtes suivants pour déterminer l’URI de la demande initiale de l’utilisateur, les paramètres et valeurs de la chaîne de demande d’origine, ainsi que le protocole et la version :
+ `CloudFront-Error-Uri` : contient l’URI de la demande d’origine reçue de l’utilisateur.
+ `CloudFront-Error-Args` : contient les paramètres et les valeurs de la chaîne de demande d’origine.
+ `CloudFront-Forwarded-Proto` – Contient le protocole de la demande de l’utilisateur (HTTP ou HTTPS).
+ `CloudFront-Viewer-Http-Version` – Contient la version HTTP de la demande de l’utilisateur.

# Comprendre comment les politiques de demande d’origine et les politiques de cache fonctionnent ensemble
<a name="understanding-how-origin-request-policies-and-cache-policies-work-together"></a>

Vous pouvez utiliser une [politique de demande d'origine](controlling-origin-requests.md) CloudFront pour contrôler les demandes que CloudFront envoie à l'origine, appelées *demandes d'origine*. Pour utiliser une politique de demande d'origine, vous devez attacher une [politique de cache](controlling-the-cache-key.md) au même comportement de cache. Vous ne pouvez pas utiliser de stratégie de demande d’origine dans un comportement de cache sans stratégie de cache. Pour plus d’informations, consultez [Contrôle des demandes d’origine à l’aide d’une stratégie](controlling-origin-requests.md).

Les politiques de demande d'origine et les politiques de cache fonctionnent ensemble pour déterminer les valeurs que CloudFront inclut dans les demandes d'origine. Toutes les chaînes de requête URL, tous les en-têtes HTTP et tous les cookies que vous spécifiez dans la clé de cache (à l'aide d'une politique de cache) sont automatiquement inclus dans les demandes d'origine. Toutes les chaînes de requête, tous les en-têtes et tous les cookies supplémentaires que vous spécifiez dans une politique de demande d'origine sont également inclus dans les demandes d'origine (mais pas dans la clé de cache).

Les politiques de demande d’origine et les politiques de cache comportent des paramètres qui peuvent sembler contradictoires. Par exemple, une politique peut autoriser certaines valeurs tandis qu'une autre les bloque. Le tableau suivant explique quelles valeurs CloudFront inclut dans les demandes d'origine lorsque vous utilisez conjointement les paramètres d'une politique de demande d'origine et d'une politique de cache. Ces paramètres s'appliquent généralement à tous les types de valeurs (chaînes de requête, en-têtes et cookies), à l'exception du fait que vous ne pouvez pas spécifier tous les en-têtes ni utiliser une liste de blocage d'en-têtes dans une politique de cache.


|  |  **Politique de demande d'origine**  |  |  **Aucune**  |  **Tous**  |  **Liste verte**  |  **Liste de blocages**  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  **Politique de cache**  | 
|  **Aucune**  |  Aucune valeur provenant de la demande de visionnage n'est incluse dans la demande d'origine, à l'exception des valeurs par défaut incluses dans chaque demande d'origine. Pour plus d’informations, consultez [Contrôle des demandes d’origine à l’aide d’une stratégie](controlling-origin-requests.md).  |  Toutes les valeurs de la demande de visionnage sont incluses dans la demande d'origine.  |  Seules les valeurs spécifiées dans la politique de demande d'origine sont incluses dans la demande d'origine.  |  Toutes les valeurs de la demande de visionnage ***à l'exception de*** celles spécifiées dans la politique de demande d'origine sont incluses dans la demande d'origine.  | 
|  **Tous** **Remarque :** Vous ne pouvez pas spécifier tous les en-têtes dans une politique de cache.  |  Toutes les chaînes de requête et tous les cookies de la demande de visionnage sont inclus dans la demande d'origine.  |  Toutes les valeurs de la demande de visionnage sont incluses dans la demande d'origine.  |  Toutes les chaînes de requête et tous les cookies de la demande de visionnage, ainsi que tous les en-têtes spécifiés dans la politique de demande d'origine sont inclus dans la demande d'origine.  |  Toutes les chaînes de requête et tous les cookies de la demande de visionnage sont inclus dans la demande d'origine, même ceux spécifiés dans la liste de blocages de la politique de demande d'origine. Le paramètre de politique de cache remplace la liste de blocages de la politique de demande d'origine.  | 
|  **Liste verte**  |  Seules les valeurs spécifiées dans la demande de visionnage sont incluses dans la demande d'origine.  |  Toutes les valeurs de la demande de visionnage sont incluses dans la demande d'origine.  |  Toutes les valeurs spécifiées dans la politique de cache ou dans la politique de demande d'origine sont incluses dans la demande d'origine.  |  Les valeurs spécifiées dans la politique de cache sont incluses dans la demande d'origine, même si ces mêmes valeurs sont spécifiées dans la liste de blocages de la politique de demande d'origine. La liste verte de la politique de cache remplace la liste de blocages de la politique de demande d'origine.  | 
|  **Liste de blocages** **Remarque :** Vous ne pouvez pas spécifier d'en-têtes dans la liste de blocages d'une politique de cache.  |  Toutes les chaînes de requête et tous les cookies de la demande de visionnage ***à l'exception de*** ceux spécifiés sont inclus dans la demande d'origine.  |  Toutes les valeurs de la demande de visionnage sont incluses dans la demande d'origine.  |  Les valeurs spécifiées dans la politique de demande d'origine sont incluses dans la demande d'origine, même si ces mêmes valeurs sont spécifiées dans la liste de blocages de la politique de cache. La liste verte de la politique de demande d'origine remplace la liste de blocages de la politique de cache.  |  Toutes les valeurs de la demande de visionnage ***à l'exception de*** celles spécifiées dans la politique de cache ou dans la politique de demande d'origine sont incluses dans la demande d'origine.  | 