EdgeADC - Version 5.00.1986
User Guide
×
Menu

Transmis pour

Forwarded For est la norme de facto pour identifier l'adresse IP d'origine d'un client qui se connecte à un serveur web par l'intermédiaire de répartiteurs de charge et de serveurs proxy de la couche 7.
Sortie de Forwarded-For
Option
Description
Arrêt
L'ADC ne modifie pas l'en-tête Forwarded-For.
Ajouter une adresse et un port
Ce choix ajoutera l'adresse IP et le port de l'appareil ou du client connecté à l'ADC à l'en-tête Forwarded-For.
Ajouter une adresse
Ce choix ajoutera l'adresse IP de l'appareil ou du client connecté à l'ADC à l'en-tête Forwarded-For.
Remplacer l'adresse et le port
Ce choix remplacera la valeur de l'en-tête Forwarded-For par l'adresse IP et le port de l'appareil ou du client connecté à l'ADC.
Remplacer l'adresse
Ce choix remplacera la valeur de l'en-tête Forwarded-For par l'adresse IP de l'appareil ou du client connecté à l'ADC.
En-tête Forwarded-For
Ce champ vous permet de spécifier le nom donné à l'en-tête Forwarded-For. Généralement, il s'agit de "X-Forwarded-For", mais ce nom peut être modifié dans certains environnements.
Journalisation avancée pour IIS - Journalisation personnalisée
Vous pouvez obtenir les informations X-Forwarded-For en installant l'application IIS Advanced logging 64-bit. Une fois téléchargée, créez un champ de journalisation personnalisé appelé X-Forwarded-For avec les paramètres ci-dessous.
Sélectionnez Default dans la liste Source Type dans la liste Category, sélectionnez Request Header dans la case Source Name et tapez X-Forwarded-For.
HTTP://www.iis.net/learn/extensions/advanced-logging-module/advanced-logging-for-iis-custom-logging
Changements dans le fichier HTTPd.conf d'Apache
Vous devrez apporter plusieurs modifications au format par défaut afin d'enregistrer l'adresse IP du client X-Forwarded-For ou l'adresse IP réelle du client si l'en-tête X-Forwarded-For n'existe pas.
Ces changements sont présentés ci-dessous :
Type
Valeur
LogFormat :
"%h %l %u %t \N- "%r\N" %>s %b \N- "%{Referer}i\N" \N- "%{User-Agent}i\N"" combiné
LogFormat :
"%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \N- "%{User-Agent}i\N"" proxy SetEnvIf X- Forwarded-For "^.*\N..*\N..*\N..*" forwarded
CustomLog :
"logs/access_log" combiné env=!forwarded
CustomLog :
"logs/access_log" proxy env=forwarded
Ce format tire parti du support intégré d'Apache pour la journalisation conditionnelle basée sur des variables d'environnement.
     La ligne 1 est la chaîne formatée standard du journal combiné par défaut.
     La ligne 2 remplace le champ %h (hôte distant) par les valeurs extraites de l'en-tête X-Forwarded-For et définit le nom de ce modèle de fichier journal comme étant "proxy".
     La ligne 3 est un réglage de la variable d'environnement "forwarded" qui contient une expression régulière libre correspondant à une adresse IP, ce qui est acceptable dans ce cas puisque nous nous soucions davantage de savoir si une adresse IP existe dans l'en-tête X-Forwarded-For.
     De même, la ligne 3 pourrait être lue comme suit : "S'il existe une valeur X-Forwarded-For, utilisez-la : "S'il existe une valeur X-Forwarded-For, utilisez-la."
     Les lignes 4 et 5 indiquent à Apache le modèle de journal à utiliser. Si une valeur X-Forwarded-For existe, utilisez le modèle "proxy", sinon utilisez le modèle "combined" pour la requête. Pour des raisons de lisibilité, les lignes 4 et 5 ne tirent pas parti de la fonction de journalisation par rotation (piped) d'Apache, mais nous supposons que presque tout le monde l'utilise.
Ces modifications permettront d'enregistrer une adresse IP pour chaque demande.