Ajouter des en-têtes de CloudFront demande - 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.

Ajouter des en-têtes de CloudFront demande

Vous pouvez configurer CloudFront pour ajouter des HTTP en-têtes spécifiques aux demandes CloudFront reçues des utilisateurs et transmises à votre fonction d'origine ou de périphérie. Les valeurs de ces HTTP en-têtes sont basées sur les caractéristiques du spectateur ou de la demande du spectateur. Les en-têtes fournissent des informations sur le type d'appareil, l'adresse IP, l'emplacement géographique, le protocole de demande (HTTPouHTTPS), la HTTP version, les détails de TLS connexion, l'empreinte digitale et JA4 l'JA3empreinte digitale du spectateur.

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ôlez la clé de cache à l'aide d'une politique et Comprendre la clé de cache.

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 de plus amples informations, veuillez consulter Contrôlez les demandes d'origine à l'aide d'une politique.

En-têtes pour déterminer le type d’appareil de l’utilisateur

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-Agenten-tête, CloudFront définit la valeur de ces en-têtes sur true oufalse. 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 que le système iPod tactileiPhone, et certains iPad appareils.

  • 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 pour déterminer l'emplacement de l'utilisateur

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 valeurs de ces en-têtes qui ne contiennent pas de ASCII caractères, le CloudFront pourcentage code le caractère conformément à la section 1.2 du 3986. RFC

  • 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) du visualiseur.

    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 une liste des codes de pays, voir ISO3166-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 :

Note

CloudFront-Viewer-CityCloudFront-Viewer-Metro-Code, et il CloudFront-Viewer-Postal-Code se peut qu'il ne soit pas disponible pour toutes les adresses IP. Certaines adresses IP ne peuvent pas être géolocalisées avec suffisamment de précision pour obtenir ces informations.

En-têtes pour déterminer la structure de l'en-tête de l'utilisateur

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 HTTP des en-têtes 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. olpPar 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.

Autres CloudFront en-têtes

Vous pouvez ajouter les en-têtes suivants pour déterminer la demande initiale du lecteurURI, les paramètres et valeurs de la chaîne de requête initiale, le protocole, la version, l'JA3empreinte digitale et les détails de TLS connexion :

  • CloudFront-Error-Args— Contient la demande initiale URI qui a été reçue du spectateur.

  • CloudFront-Error-Uri— Contient les paramètres et les valeurs de la chaîne de requête d'origine.

  • CloudFront-Forwarded-Proto— Contient le protocole de la demande du spectateur (HTTPouHTTPS).

  • CloudFront-Viewer-Http-Version— Contient la HTTP version de la demande du spectateur.

  • CloudFront-Viewer-JA3-Fingerprint— Contient l'JA3empreinte digitale du spectateur. L'JA3empreinte 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). Cet en-tête repose sur le TLS Client Hello paquetSSL/du visualiseur et n'est présent que pour les HTTPS requêtes.

    Note

    Vous pouvez ajouter CloudFront-Viewer-JA3-Fingerprint dans une politique de demande d’origine, mais pas dans une politique de cache.

  • CloudFront-Viewer-TLS— Contient la SSL/TLS version, the cipher, and information about the SSL/TLS poignée de main utilisée 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 pour la TLS sessionSSL/.

    • sessionResumed— Une TLS sessionSSL/précédente a été reprise.

    • connectionReused— Une TLS connexionSSL/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 TLS versionsSSL/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

    Note

    Vous pouvez ajouter CloudFront-Viewer-TLS dans une politique de demande d’origine, mais pas dans une politique de cache.