Capturing incoming requests to your Google App Engine development server, using Fiddler

I'm working on an app the leverages Google App Engine, and I recently was stumped trying to figure out how to use Fiddler to capture incoming HTTP request to my server when running in development mode, when those requests were coming from another machine.  I'm jotting this down to save others from the hair-pulling I went through.

  1. Change the run/debug configurations in Google Plugin for Eclipse so that the development server uses some port other than 8888.  In my case, I changed it to 8080.  The problem with 8888 is that Fiddler wants to use that port, too.  I tried changing the port that Fiddler listens on, in its options dialog, but it didn't work for me.
  2. Set up port forwarding on your router, so that the port your development server is listening to is being forwarded to your development machine.
  3. Follow the instructions at http://www.fiddler2.com/fiddler/help/reverseproxy.asp to set up Fiddler as a remote proxy, but be sure to use option #2 (setting up a custom rule).  The registry approach doesn't seem to work for requests coming in from another machine.
  4. Ensure the external machine making requests to your development server is using the externally-visible IP address for your machine (see whatsmyip.org) and port 8888.  If it uses port 8080, the request will still go to your server, but Fiddler won't capture it.

Note: I have found that there can be some flakiness in getting this setup to take effect.  I haven't figured out exactly what the trick is, whether it's restarting Fiddler multiple times, or simply waiting for some cached value somewhere to time out, ...  If somebody solves that part of the puzzle, please let me know.