One of the common topics on Windows Azure is how to access remotely a
compute emulator, or the development fabric (dev fabric). This is not,
of course, a solution for production, but it can come in handy when
you're developing two systems on separate computers and you need to test
their integration before deploying them to Windows Azure.
The problem with the development fabric is that it binds to the looback device only, so it works only if accessed by the localhost address (127.0.0.1).
The computer emulator shows that it bound to 127.0.0.1:
Also netstat output shows it:
So a remote access, which would hit the local interface, would never
access your locally running application. In order to to do that, there
are multiple options. Windows offers a command-line utility called
netsh.exe that helps rerouting port accesses and would be great to use,
but it doesn't work for loopback interfaces, so unfortunately it can't
be used in this case.
Another good option is to tunnel the request via SSH. I tried that by installing Cygwin + OpenSSH, and it worked beautifully. I add some references to it at the end of this post if you're interested in this option.
However, the easiest way to get this accomplished was by using an application called "PassPort port forwarding utility Win XP", which is hosted on SourceForge.net:
By configuring it to forward from my local interface IP address to 127.0.0.1, I can access the application remotely. For instance, if your external IP is 192.168.0.1, this would be your configuration:
Just click on "Start" to start PassPort as a Windows Service and you're done. No need to change anything on the remote side other than pointing it to your IP:Port.
Another alternative, that I did not try myself, is rinetd. It is
mentioned in the post below and if you have any experience with it,
please post a comment:
References for OpenSSH