Comment enregistrer X-Forwarded-For dans IIS?
Pour enregistrer l'en-tête de demande X-Forwarded-For dans IIS pour suivre la véritable adresse IP du client, vous devez effectuer les étapes suivantes: 1. Ouvrez le gestionnaire IIS, sélectionnez le site et double-cliquez sur le module "Journaux"; 2. Cliquez sur "Sélectionner le champ" pour ajouter un nouveau champ avec le nom X-Forwarded-For, sélectionnez "Demande d'en-tête" dans le type de source et remplissez le nom de la source X-Forwarded-For; 3. Assurez-vous que le serveur proxy (tel que Nginx, Haproxy) définit correctement l'en-tête X-Forwarded-pour, par exemple, Nginx utilise proxy_set_header X-Forwarded-for $ proxy_add_x_forwarded_for, haproxy utilise httpp-request set-header 4. Faites attention à l'emplacement du champ X-Forwardé lors de la visualisation des journaux et utilisez des outils tels que Analyse Excel ou Parser pour identifier les nœuds IP et proxy intermédiaires.
L'enregistrement de l'en-tête de demande à l'emplacement X dans IIS consiste principalement à suivre la véritable propriété intellectuelle du client passant par le serveur proxy ou l'équilibreur de chargement. Par défaut, le journal IIS enregistre uniquement l'IP client directement connecté à la demande, et lorsque la demande passe par le proxy inversé, cette IP est écrasée par le serveur proxy. À l'heure actuelle, vous devez configurer IIS pour enregistrer également X-Forwarded-For
dans l'en-tête de demande HTTP.

Configurer les champs de journal IIS: Ajoutez du X-Forwarded-For au journal
Pour enregistrer X-Forwarded-For
, confirmez d'abord si le format de journal d'IIS prend en charge les champs personnalisés. Généralement, le format de journal étendu W3C est utilisé, ce qui vous permet d'ajouter des en-têtes de demande HTTP supplémentaires.
Les étapes de fonctionnement sont les suivantes:

- Ouvrez IIS Manager et sélectionnez le site correspondant
- Double-cliquez sur le module de fonction "log"
- Cliquez sur Sélectionner le champ dans la zone "Sélectionner le champ"
- Cliquez sur "Ajouter un champ"
- Nom:
X-Forwarded-For
- Sélection du type de source: "En-tête de demande"
- Remplissez le nom de la source:
X-Forwarded-For
- Après avoir confirmé la sauvegarde, les fichiers journaux suivants contiendront cette colonne.
De cette façon, si X-Forwarded-For
est inclus dans chaque demande, sa valeur sera écrite dans le journal.
Assurez-vous que l'agent passe correctement l'en-tête Forwarded-For
Il ne suffit pas de configurer IIS seul, à condition que vos agents frontaux (tels que Nginx, Haproxy, Azure Application Gateway, etc.) doivent correctement définir la véritable adresse IP du client dans X-Forwarded-For
.

Exemples de configuration de proxy communs:
-
Nginx :
proxy_set_header x-Forwarded-for $ proxy_add_x_forwarded_for;
Haproxy :
HTTP-Request set-header x-forwarded-for% [src]
Si vous ne définissez pas cet en-tête dans la couche proxy, même si IIS est configuré correctement, vous verrez que le champ dans le journal est vide ou affiché comme -
.
Notes sur la visualisation et l'analyse des journaux
Une fois l'enregistrement activé, vous pouvez voir quelque chose comme ce qui suit dans le fichier journal IIS:
2024-05-15 10:20:30 192.168.1.10 Get /Index.html - 80 - 192.168.1.100 MOZILLA / 5.0 ... "X-Forwarded-for = 123.45.67.89"
La clé ici est d'identifier quel champ est X-Forwarded-For
. Au format W3C, chaque colonne correspond à un champ que vous pouvez juger par ordonnance sur le terrain. Il est recommandé d'utiliser des outils Analyser Excel ou de journal pour importer des journaux pour l'analyse, ce qui facilite la localisation des problèmes.
Il convient de noter que la valeur de X-Forwarded-For
peut être une liste séparée par l'espace, par exemple: par exemple:
X-Forwarded-For: 123.45.67.89, 192.168.1.10
La première IP est le client d'origine, et le suivant peut être un nœud proxy intermédiaire.
Fondamentalement, c'est tout. Tant que le proxy est correctement défini et que la configuration du champ d'IIS peut être enregistrée et analysée avec succès par la véritable source IP du client.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'activation de la prise en charge de l'application 32 bits est une étape clé. Vous devez trouver le pool d'applications correspondant dans IIS Manager et définir "Activer l'application 32 bits" sur true; 2. Recycler le pool d'applications après modification pour rendre la configuration prendre effet; 3. Assurez-vous que les composants DLL ou COM 32 bits sont enregistrés via RegSVR32 dans le répertoire Syswow64 et vérifiez les autorisations d'identité du pool d'application.

UsellogParsertoidentifyslow-runningrequestsbyqueryingthetime-takenfield et sort de l'Indensée

IdentifiertTheCorrectW3WP.ExeprocessByrunningiisappincommandPromptTomatchyourApp’sApplicationPoolWithitSpid.2.InvisualStudio, attachthedebuggerTothentifiedw3wp.exeprocess, SelectTheAppropriadedebuggerType (managedorcoceclr).

TomanageiiswithPowershell, FirstInstallImportThewebadmingingModule, Thenusetheiis: DriveandcmdletStroceateWebsites, ConfigureApplicationPools, setbindings, andAssignenslslcertificatesforautomated, répétitif.

Vérifiez la taille de la demande et la limite d'URL et résolvez le problème de limite en ajustant MaxallowEdContentLength, MaxRequestLength, Maxurl et MaxqueryString dans web.config; 2. Vérifiez les en-têtes ou encodages de demande non valides, utilisez Fiddler ou échoué demandes pour suivre et identifier et réparer les mauvais en-têtes; 3. Dépannage des problèmes HTTPS / SSL, assurez-vous que le client utilise HTTPS, configure correctement SNI et a une correspondance de liaison; 4. Assurez-vous que le corps de la demande est formaté correctement et que le type de contenu correspond pour éviter les erreurs de liaison du modèle; 5. Encoder les caractères spéciaux dans l'URL et utiliser avec précaution

Pour désactiver la journalisation d'un site Web spécifique sur IIS, trouvez d'abord le site Web cible dans le gestionnaire IIS et entrez le paramètre "Enregistrement du journal", 1. Définissez "Calendrier du journal" sur "Aucun", 2. Décochez "Activer la journalisation", 3. Cliquez sur Appliquer pour enregistrer les modifications, l'opération ne affectera que le site Web actuel; Notez que l'ancien journal ne sera pas supprimé automatiquement et qu'il doit être nettoyé manuellement, et en même temps, confirmez si le chemin du journal est partagé, si les autorisations sont normales et si l'outil de surveillance dépend du journal pour éviter les problèmes ultérieurs.

Installer PHP et configurer php.ini pour activer les extensions nécessaires; 2. Activer la fonction CGI dans IIS; 3. Enregistrez PHP en tant qu'application FASTCGI via IIS Manager et Ajouter le mappage. .Php; 4. Créez un fichier de test info.php pour vérifier la configuration, assurez-vous que les autorisations et les chemins sont corrects et redémarrez IIS si nécessaire.

Activer la fonction ASP.NET dans IIS; 2. Exécutez ASPNET_REGIIS-I en tant qu'administrateur pour enregistrer ASP.NET; 3. Définissez la version .NET correcte et le mode pipeline intégré dans le pool d'applications; 4. Grant le dossier du site Web Lire et exécuter les autorisations pour IIS_IUSRS et Identités de pool d'applications; 5. Activer éventuellement les journaux de suivi des demandes et de vérification échoué; 6. Vérifiez les erreurs de fichier Web.config et les erreurs d'application dans la visionneuse d'événements; En effectuant les étapes ci-dessus à leur tour, vous pouvez résoudre les "erreurs d'application du serveur" qui se produisent après l'installation d'IIS, vous assurer que ASP.NET est correctement enregistré et configuré le pool d'applications, et enfin faire fonctionner le site Web normalement.
