Wie richte ich Fiddler ein, um ihn als echten Server im Test anzukündigen?

351
Sandeep

Ich habe einen Client und 3 Server. Angenommen, der Client läuft auf

http://localhost:8000 

und die anderen drei Server laufen auf:

http://localhost:8001 ----->server1  http://localhost:8002 ------->server2  http://localhost:8003 --------->server3 

Es gibt auch Kommunikation zwischen diesen Servern. Meine Frage ist:

  1. Kann Fiddler "vor" dem Server2 platziert werden, indem seine IP-Adresse anstelle des eigentlichen Servers2 angekündigt wird? Wenn ja, wie?

  2. Wenn Fiddler eine POST-Anforderung von einem Client erhält, möchte ich die Nachricht ändern und dann an Server2 weiterleiten. Wie kann das erreicht werden?

  3. Wenn die Antwort vom Server zurückkommt, ändern Sie sie entsprechend, bevor Sie sie an den Client zurücksenden.

Wenn die oben genannten Vorgänge nicht von einem Fiddler-Proxy-Server ausgeführt werden können, schlagen Sie mir einen anderen Proxy-Server vor, der mir helfen kann.

0

1 Antwort auf die Frage

0
heavyd

Obwohl dies nicht der Standard-Anwendungsfall von Fiddler ist, kann er als Reverse-Proxy konfiguriert werden. Die ausführlichen Anweisungen finden Sie in der Fiddler-Dokumentation, im Wesentlichen jedoch:

  1. Konfigurieren Sie Fiddler so, dass Remoteverbindungen akzeptiert werden
  2. Legen Sie die Portnummer für den Zielserver ( 8002für server2) mit einem ReverseProxyForPortim Registrierungsschlüssel genannten DWORD-Wert fest HKEY_CURRENT_USER\SOFTWARE\Microsoft\Fiddler2, und starten Sie dann Fiddler neu.
  3. Schreiben Sie eine FiddlerScript- OnBeforeRequestRegel, um den HostHeader für eingehende Anforderungen neu zu schreiben :

Skript:

if (oSession.host.toLowerCase() == "fiddlerserver:8888") oSession.host = "server2:8002"; 

Ich würde Fiddler auch so konfigurieren, dass er nicht automatisch alle Anforderungen auf der Maschine über das Kontrollkästchen "Als Systemproxy beim Start" unter der Registerkarte "Verbindungen" in den Einstellungen weiterleitet.

Sie können jede POST-Anforderung mithilfe zusätzlicher FiddlerScript-Regeln weiter ändern.