Remotely accessing the Windows Azure Compute Emulator

We tend to use virtual machines from the site to do browser compatibility tests and most of the time it’s sufficient to deploy to a Cloud Service we use for testing (eg: But a few days ago we were faced with a compatibility issue where we needed a way to quickly test our changes. With the Internet Explorer Developer Tools (F12) we weren’t able to reproduce the issue, and redeploying the application after each small change would be time consuming.

That’s why we wanted to test the site from a virtual machine, while running the application in the Windows Azure Compute Emulator:

When I start the emulator on my workstation it runs on . But when I tried to access the emulator from my virtual machine (through, it did not work. This is because the emulator configures IIS Express to only listen on the localhost.

Setting up remote access

The easiest way to enable remote access to the compute emulator is by setting up port forwarding, which is one of the standard features of Windows (through the netsh.exe tool for example). But before we can setup the port forwarding we need to know where it should point to. The easiest way to do this is by running your application in the emulator and then right clicking the IIS Express tray icon:

So on my machine the Compute Emulator runs on (even though I’m accessing it through my browser using This is where I’ll want to point the port forwarding to. The only thing I need to do now is pick a port, open it in the firewall and set up the port forwarding (I’ll be using port 800).

Now simply start an elevated command prompt and execute the following command:

netsh interface portproxy add v4tov4 listenport=800 connectaddress= connectport=82 protocol=tcp

This command will redirect all incoming traffic on port 800 to Now from my virtual machine (or any other network location), I’m able to access the application running in the Compute Emulator:

Now if you’re still not able to connect I would suggest completely turning off the Windows Firewall and troubleshoot from there (the most probable cause would be that the port is not open for Public networks).


About Sandrino Di Mattia

Sandrino Di Mattia is a Windows Azure Consultant at RealDolmen and a Windows Azure Insider. He lives and breathes Windows Azure.

  • Vicenç García-Altés

    Thank you very much Sandrino!

  • mellamokb

    This is very useful! I use a tool called PassPort ( for dead-simple port forwarding. With this tool I was also able to get Storage Emulator remotely accessible.

    I just wondered, doesn’t hitting the internal address bypass the internal emulated load balancer and hit the instance directly? Not a big deal for single-instance emulation, but I regularly test with up to 6 instances.