Tous les produits
Search
Centre de documentation

Object Storage Service:Journaliser les en-têtes de requête et les paramètres de requête

Dernière mise à jour :Aug 18, 2026

Les journaux d'accès OSS incluent un ensemble standard de champs. Pour suivre des détails supplémentaires sur les requêtes, configurez des champs de journal personnalisés afin d'enregistrer des en-têtes de requête et des paramètres de requête spécifiques. Les champs de journal personnalisés sont stockés dans le champ user_defined_log_fields.

Informations générales

Les requêtes HTTP sont définies par leurs en-têtes et leurs paramètres de requête. Par défaut, les journaux d'accès OSS ne capturent qu'un sous-ensemble de ces éléments. Pour plus d'informations sur les journaux d'accès OSS, consultez la rubrique Journaux d'accès.

Vous pouvez configurer OSS pour enregistrer des en-têtes de requête et des paramètres de requête supplémentaires, tels que définis dans la norme RFC 2616.

Scénarios

  • Analyse des proxys : les journaux OSS n'enregistrent pas l'en-tête x-forwarded-for par défaut. Configurez un champ de journal personnalisé pour le capturer et analyser les intermédiaires.

  • Catégorisation des paramètres de requête : les journaux OSS n'enregistrent pas les paramètres de requête URL par défaut. Pour journaliser des paramètres spécifiques tels que rrr et eee à partir d'une URL comme http://bucketname.aliyuncs.com/hu.jpg?yyy=45&eee=88&rrr=huyanbin, configurez des champs de journal personnalisés.

Notes d'utilisation

  • Spécifiez jusqu'à six en-têtes de requête et paramètres de requête, un par ligne.

  • Les données journalisées sont stockées au format JSON encodé en Base64 dans le champ user_defined_log_fields. Le JSON contient trois clés : « truncated » (indiquant si les données ont été tronquées), « headers » (en-têtes de requête) et « querys » (paramètres de requête).

  • Les clés des en-têtes de requête autorisent les traits d'union (-) mais pas les tirets bas (_). Les clés des paramètres de requête autorisent les tirets bas (_).

  • Les clés des en-têtes de requête doivent contenir uniquement des caractères ASCII imprimables (33–126), à l'exclusion des tirets bas (_) et des deux-points (:).

  • La taille combinée clé-valeur de tous les champs personnalisés ne peut pas dépasser 1 024 octets. Les données dépassant cette limite sont tronquées. Les clés sont converties en minuscules dans les journaux ; les valeurs conservent leur casse d'origine.

Prérequis

  • La fonctionnalité de requête de journal en temps réel est activée pour le bucket. Pour plus d'informations, consultez la rubrique Requête de journal en temps réel.

  • Les requêtes envoyées au bucket incluent les en-têtes de requête ou les paramètres de requête ciblés. Consultez la rubrique Initier une requête.

Méthodes

Utiliser la console OSS

  1. Connectez-vous à la console OSS.

  2. Dans le volet de navigation de gauche, cliquez sur Buckets. Sur la page Buckets, recherchez le bucket souhaité et cliquez dessus.

  3. Dans l'arborescence de navigation de gauche, sélectionnez Logging > Real-time Log Query.

  4. Sous l'onglet Real-time Log Query, cliquez sur Add à côté de Request Headers or Query Parameters in Logs.

  5. Dans la boîte de dialogue Configure Request Header or Query Parameter in Logs, cliquez sur Add à côté de Specify Log Field.

  6. Sélectionnez Request Header ou Query Parameter, saisissez une valeur, puis cliquez sur OK.

    Remarque

    Les paramètres des champs personnalisés prennent effet dans un délai de 15 minutes.

Utiliser ossutil

Utilisez ossutil pour configurer les en-têtes de requête dans les journaux. Pour obtenir des informations sur son installation, consultez la rubrique Installer ossutil.

Exécutez la commande suivante pour ajouter des en-têtes de requête ou des paramètres de requête personnalisés au champ user_defined_log_fields pour examplebucket :

ossutil api put-user-defined-log-fields-config --bucket examplebucket --user-defined-log-fields-configuration "{\"HeaderSet\":{\"header\":[\"header1\",\"header2\",\"header3\"]},\"ParamSet\":{\"parameter\":[\"param1\",\"param2\"]}}"

Opération API associée

Ces méthodes s'appuient sur une API RESTful que vous pouvez appeler directement. Les appels directs à l'API nécessitent le calcul d'une signature dans votre code. Pour plus d'informations, consultez la rubrique PutUserDefinedLogFieldsConfig.

Référence

Analyser les intermédiaires à l'aide de champs de journal personnalisés