Konfigurieren Sie Fiddler unter Windows als "Reverse Proxy"
(Für Mac siehe den Link in Partizanos Kommentar unten)
Ich weiß, dass es bereits eine Antwort gibt, die dies vorschlägt, aber ich möchte die Erklärung und Anweisungen dafür geben, die Telerik hätte liefern sollen , und auch einige der „Fallstricke“ behandeln.
Was bedeutet es, Fiddler als "Reverse Proxy" zu konfigurieren?
- Standardmäßig überwacht Fiddler nur ausgehende Anforderungen von dem Computer, auf dem Sie Fiddler ausführen
- Um eingehende Anfragen zu überwachen , müssen Sie Fiddler so konfigurieren, dass es als "Reverse Proxy" fungiert.
- Dies bedeutet, dass Sie Fiddler als 'Proxy' einrichten müssen, der eingehende http-Anforderungen abfängt, die an einen bestimmten Port (8888) auf dem Computer gesendet werden, auf dem Sie die eingehenden Anforderungen abhören möchten. Fiddler leitet diese Anforderungen dann an den Webserver auf demselben Computer weiter, indem er sie an den üblichen Port für http-Anforderungen sendet (normalerweise Port 80 oder 443 für https). Es ist eigentlich sehr schnell und einfach zu machen!
- Die Standardmethode zum Einrichten mit Fiddler besteht darin, Fiddler zu veranlassen, alle an Port '8888' gesendeten Anforderungen abzufangen (da dies normalerweise von nichts anderem verwendet wird, obwohl Sie genauso einfach einen anderen Port verwenden könnten).
- Anschließend müssen Sie den Registrierungseditor verwenden, damit Fiddler alle http-Anforderungen weiterleitet, die Fiddler an Port 8888 empfängt, damit sie an den Standard-http-Port weitergeleitet werden (Port 80, Port 443 für eine https-Anforderung oder einen anderen benutzerdefinierten Port) Ihr Webserver ist auf Abhören eingestellt.)
HINWEIS: Damit dies funktioniert, muss jede Anforderung, die Sie abfangen möchten, an Port 8888 gesendet werden
Sie tun dies, indem Sie: 8888 an Ihren Hostnamen anhängen , beispielsweise wie folgt für eine MVC-Route:
http: // myhostname : 8888 / controller / action
Exemplarische Vorgehensweise
Stellen Sie sicher, dass Fiddler Remote-http-Anforderungen an Port 8888 akzeptieren kann:
Fiddler als Administrator ausführen Gehen Sie zu Extras> Fiddler-Optionen> Verbindungen und stellen Sie sicher, dass "Remotecomputer eine Verbindung zulassen" aktiviert und "Fiddler lauscht auf Port" auf 8888 eingestellt ist:
Konfigurieren Sie Fiddler so, dass an Port 8888 empfangene Anforderungen an Port 80 weitergeleitet werden
- Fiddler schließen
- Starten Sie REGEDIT
- Erstellen Sie ein neues DWORD mit dem Namen ReverseProxyForPort in HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Fiddler2.
- Stellen Sie nun den DWORD-Wert auf den lokalen Port ein, an den Sie eingehenden Datenverkehr umleiten möchten (im Allgemeinen Port 80 für einen Standard-HTTP-Server).
- Klicken Sie dazu mit der rechten Maustaste auf das von Ihnen erstellte DWORD und wählen Sie "Ändern". Stellen Sie sicher, dass 'Basis' auf 'Dezimal' eingestellt ist, und geben Sie '80' (oder einen anderen Port) als 'Wertdaten' ein:
Stellen Sie sicher, dass Port 8888 in der Firewall geöffnet ist
- Sie müssen sicherstellen, dass Port 8888 für externe Anforderungen geöffnet ist (standardmäßig nicht, wenn Ihr Server durch eine Firewall geschützt ist).
Das ist es! Fiddler sollte jetzt als Reverse-Proxy eingerichtet sein, um alle Anforderungen von Port 8888 abzufangen (damit Sie sie in Fiddler anzeigen können), und sie werden dann zur tatsächlichen Bearbeitung an Ihren Webserver weitergeleitet.
Testen Sie eine Anfrage
- Starten Sie Fiddler neu
- Um zu testen, ob Fiddler externe Anforderungen abfängt, öffnen Sie einen Browser auf demselben Computer, auf dem Sie Fiddler als Reverse-Proxy eingerichtet haben . Navigieren Sie in Ihrem Browser zu http://127.0.0.1:8888
- Dies testet eine grundlegende Anforderung an Port 8888
- Sie sollten die von Fiddler abgefangene Anfrage sehen
- Jetzt können Sie eine Anforderung von einem anderen Computer testen, indem Sie beispielsweise eine Anforderung von einem Browser auf einem anderen Computer wie diesem stellen (wobei 'remoteHostname' ein Hostname auf dem Computer ist, auf dem Sie Fiddler als Reverse-Proxy eingerichtet haben):
http: // remoteHostname : 8888 / controller / action
- Alternativ können Sie eine Anforderung erstellen , indem Sie eine andere Instanz von Fiddler auf einem Remotecomputer verwenden und eine URL verwenden, die der obigen ähnlich ist. Auf diese Weise können Sie entweder eine GET- oder eine POST-Anfrage stellen.
WICHTIG: Wenn Sie mit dem Anzeigen Ihrer Anfrage (n) fertig sind, kehren Sie zu Extras> Fiddler-Optionen> Verbindungen zurück und entfernen Sie die Option "Remotecomputern die Verbindung erlauben". Andernfalls können Dritte den Datenverkehr über Ihren Server leiten