Search code examples
proxyfiddler

Fiddler Echo Service for alternative Hostnames


We have a server called xxx running fiddler and allowing incoming connections from remote machines. The server has the alias yyy in the DNS.

When we call http://xxx:8888/ we get the Fiddler echo service. However, when we call http://yyy:8888/ we get no response and a kind of endless loop. It would seem fiddler is treating the call as something it should proxy and calling itself.

We see this behaviour whether we call yyy from a remote computer or locally in a browser on the server. The endless loop is logged in fiddler even if it's not capturing and there seems to be no way to stop it except with a breakpoint or to kill fiddler.

How does Fiddler determine if a request is a request to it as a server (Echo) or something to be proxied?


Solution

  • If the request is coming to Fiddler on the configured listen port (default: 8888), you can fix this by adding an alternate hostname for Fiddler to recognize. Click Rules > Customize Rules. Inside static function Main() {, add Fiddler.CONFIG.sAlternateHostname = "yyy"; and save the file.

    If the request is coming to Fiddler with a different port in the Host header, you can change the request's host so that Fiddler treats it as a direct request. Click Rules > Customize Rules and add the following inside OnBeforeRequest:

    if (oSession.HostnameIs("yyy")) {
        oSession.host = "localhost:8888"
    }