Ajout d’en-têtes personnalisés aux demandes d’origine - Amazon CloudFront

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.

Ajout d’en-têtes personnalisés aux demandes d’origine

Vous pouvez configurer CloudFront pour ajouter des en-têtes personnalisés aux demandes qu'il envoie à votre origine. Les en-têtes personnalisés vous permettent d’envoyer et de récupérer des informations auprès de votre origine, données que les demandes d’utilisateur standard ne transmettent pas. Vous pouvez même personnaliser les en-têtes pour chaque origine. CloudFront prend en charge les en-têtes personnalisés pour les origines personnalisées et Amazon S3.

Cas d’utilisation

Vous pouvez ajouter des en-têtes personnalisés, comme ceux présentés ci-dessous :

Identification des demandes de CloudFront

Vous pouvez identifier les demandes que votre origine reçoit de CloudFront. Cela peut s'avérer utile lorsque vous souhaitez savoir si les utilisateurs contournent CloudFront ou si vous utilisez plusieurs réseaux de distribution de contenu (CDN) et que vous voulez savoir quelles demandes proviennent de chaque CDN.

Note

Si vous utilisez une origine Amazon S3 avec journalisation des accès au serveur Amazon S3 activée, les journaux n'incluent pas les informations d'en-tête.

Détermination des demandes provenant d'une distribution particulière

Si vous configurez plusieurs distributions CloudFront pour utiliser la même origine, vous pouvez ajouter des en-têtes personnalisés différents dans chaque distribution. Vous pouvez alors utiliser les journaux de votre origine pour déterminer quelles demandes proviennent de quelle distribution CloudFront.

Activation du partage des ressources de plusieurs origines (CORS)

Si certains de vos utilisateur ne prennent pas en charge le partage des ressources de plusieurs origines (CORS), vous pouvez configurer CloudFront pour toujours ajouter l'en-tête Origin aux demandes qu'il envoie à votre origine. Ensuite, vous pouvez configurer votre origine pour renvoyer l'en-tête Access-Control-Allow-Origin pour chaque demande. Vous devez également configurer CloudFront pour respecter les paramètres CORS.

Contrôle de l'accès au contenu

Vous pouvez utiliser les en-têtes personnalisés pour contrôler l'accès au contenu. En configurant votre origine pour répondre aux demandes uniquement lorsqu'elles incluent un en-tête personnalisé qui peut être ajouté par CloudFront, vous empêchez les utilisateurs de contourner CloudFront et d'accéder directement à votre contenu sur l'origine. Pour plus d’informations, consultez Restriction de l’accès à des fichiers d’origines personnalisées.

Configuration de CloudFront pour ajouter des en-têtes personnalisés aux demandes d’origine

Pour configurer une distribution afin d'ajouter des en-têtes personnalisés aux demandes qu'elle envoie à votre origine, mettez à jour la configuration de l'origine via l'une des méthodes suivantes :

  • Console CloudFront : lors de la création ou de la mise à jour d’une distribution, spécifiez des noms et valeurs d’en-tête dans les paramètres Ajout d’en-têtes personnalisés. Pour plus d’informations, consultez Ajout d'en-tête personnalisé.

  • API CloudFront – Pour chaque origine à laquelle vous souhaitez ajouter des en-têtes personnalisés, spécifiez les noms et les valeurs d'en-tête dans le champ CustomHeaders, dans Origin. Pour plus d’informations, consultez CreateDistribution ou UpdateDistribution dans la Référence des API Amazon CloudFront.

Si les noms et valeurs d'en-tête que vous spécifiez ne figurent pas déjà dans la demande de l'utilisateur, CloudFront les ajoute à la demande d'origine. Si un en-tête s'y trouve déjà, CloudFront écrase la valeur d'en-tête avant de transférer la requête à l'origine.

Pour connaître les quotas qui s’appliquent aux en-têtes personnalisés d’origine, consultez Quotas sur les en-têtes.

En-têtes personnalisés que CloudFront ne peut pas ajouter aux demandes d'origine

Vous ne pouvez pas configurer CloudFront pour ajouter les en-têtes suivants aux demandes qu'il envoie à votre origine :

  • Cache-Control

  • Connection

  • Content-Length

  • Cookie

  • Host

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Pragma

  • Proxy-Authenticate

  • Proxy-Authorization

  • Proxy-Connection

  • Range

  • Request-Range

  • TE

  • Trailer

  • Transfer-Encoding

  • Upgrade

  • Via

  • En-têtes commençant par X-Amz-

  • En-têtes commençant par X-Edge-

  • X-Real-Ip

Configuration de CloudFront pour transférer l’en-tête Authorization

Lorsque CloudFront transmet une demande d’utilisateur à votre origine, CloudFront supprime certains en-têtes d’utilisateurs par défaut, y compris l’en-tête. Authorization Pour vous assurer que votre origine reçoit toujours l’en-tête Authorization dans les demandes d’origine, vous disposez des options suivantes :

  • Ajoutez l'en-tête Authorization à la clé de cache à l'aide d'une stratégie de cache. Tous les en-têtes de la clé de cache sont automatiquement inclus dans les demandes d’origine. Pour plus d’informations, consultez Contrôle de la clé de cache à l’aide d’une politique.

  • Utilisez une stratégie de demande d’origine qui transfère tous les en-têtes d’utilisateurs à l’origine. Vous ne pouvez pas transférer l'en-tête Authorization individuellement dans une stratégie de demande d'origine, mais lorsque vous transmettez tous les en-têtes d'utilisateurs, CloudFront inclut l'en-tête Authorization dans les demandes d'utilisateurs. CloudFront fournit une stratégie de demande d'origine gérée pour ce cas d'utilisation, appelée Tous utilisateurs gérés. Pour plus d’informations, consultez Utilisation des stratégies de demande d’origine gérées.