F5 Big-IP-, X-Forwarded-For- und IIS-Protokolle

7

Ich habe eine F5 Big-IP, die von unserem Hosting-Anbieter verwaltet wird. Es ist unserem privaten VLAN usw. gewidmet. Funktioniert hervorragend :)

Wir haben sie gebeten, ein X-Forwarded-For HTTP-Header-Feld hinzuzufügen. Sie haben das getan und wir können jetzt im Code darauf zugreifen. Genial :)

Aber für unsere IIS-Protokolle ist es immer noch die IP des F5-Computers. Ich glaube, mir wurde gesagt, dass wir einen ISAPI-Filter (Cringe!) Auf die IIS-Server anwenden müssen.

  1. Kann jemand das bestätigen?
  2. Wenn # 1 == yes, gibt es eine Datei / Anleitung dazu für unsere IIS7-Webserver auf Windows 2008-Computern.
Pure.Krome
quelle

Antworten:

8

Ich habe einen ISAPI-Filter veröffentlicht, der mit unseren BIG-IPs funktioniert, und habe ihn gerade mit vollständiger x86- und x64-Unterstützung aktualisiert. Schauen Sie sich den Blog-Beitrag an, den ich vor einiger Zeit geschrieben habe. Kopieren Sie einfach die beigefügte Datei F5XForwardedFor.dll auf Ihren Server und verweisen Sie im Abschnitt ISAPI Ihrer virtuellen Site darauf.

http://devcentral.f5.com/weblogs/joe/archive/2005/09/23/1492.aspx

Joe Pruitt
quelle
6

Dies wird in diesem Thread der IIS Microsoft Community erläutert . Es scheint, dass es einen Helfer gibt , der dies für IIS tut (speziell angegeben, um mit Microsoft ARR zu arbeiten, aber es sollte für jeden Reverse-Proxy oder Load Balancer funktionieren).

chmeee
quelle
Prost! das sieht aus wie die Antwort, die ich brauche :) Ich frage mich, warum es nicht zu IIS7 selbst hinzugefügt wurde? seltsam.
Pure.Krome
0

Während die Frage mit iis-7 markiert ist, ist dies der Top-Hit bei der Suche in X-Forwarded-For. Daher dachte ich, ich würde diese Informationen für IIS 8.5 bereitstellen.

In IIS 8.5 und höher wurde in IIS 8.5 die erweiterte Protokollierungsfunktion eingeführt , mit der der Administrator problemlos HTTP-Anforderungsheader wie X-Forwarded-For protokollieren kann. Diese Antwort wird von der verlinkten Seite angepasst.

  1. Öffnen Sie den IIS-Manager .

  2. Wählen Sie die Site oder den Server im Bereich Verbindungen aus und doppelklicken Sie dann auf Protokollierung . Beachten Sie, dass die erweiterte Protokollierung nur für die Protokollierung auf Standortebene verfügbar ist. Wenn Sie den Server im Bereich Verbindungen auswählen , wird der Abschnitt Benutzerdefinierte Felder des Dialogfelds W3C-Protokollierungsfelder deaktiviert.

  3. Im Format - Feld unter Log - Datei , wählen Sie W3C und klicken Sie dann auf Felder auswählen ... .

  4. Im W3C Logging Felder Dialog, klicken Sie auf Feld hinzufügen ... . Beachten Sie, dass die erweiterte Protokollierung nur für die Protokollierung auf Site-Ebene verfügbar ist. Wenn Sie den Server im Bereich Verbindungen ausgewählt haben , ist Feld hinzufügen ... deaktiviert.

  5. Im Add Benutzerdefinierte Feld Dialog geben Sie einen Feldnamen wie c-ip-originaldas benutzerdefinierte Feld in der Protokolldatei zu identifizieren. Bitte beachten Sie, dass der Feldname keine Leerzeichen enthalten darf.

  6. Wählen Sie Request - Header in der Quelltyp - Liste.

  7. Geben Sie X-FORWARDED-FORin Quelle ein .

  8. Klicken Sie auf OK .

  9. Klicken Sie auf OK .

  10. Klicken Sie im Bereich Aktionen auf Übernehmen, um die neue Konfiguration anzuwenden.

Sobald die benutzerdefinierten Felder konfiguriert wurden, erstellt IIS neue Textprotokolldateien, wobei "_x" an den Dateinamen angehängt wird, um anzuzeigen, dass die Datei benutzerdefinierte Felder enthält.

Beachten Sie, dass die Gesamtgröße der aus allen benutzerdefinierten Feldern gesammelten Daten 65.536 Byte nicht überschreiten darf. Wenn die Gesamtzahl 65.536 Byte überschreitet, schneidet IIS die Daten ab.

Ganzheitlicher Entwickler
quelle