Remote access to Visual Studio Development Server

If you wish to extend the ASP.NET Development Server's scope beyond the local host and allow remote access, such as I did when wanting to test a website against a work college's browser, then I've put together a rough guide that will hopefully be of some help (as well as a reminder to myself).

I went about extending the development server's scope by setting up a reverse proxy on the same machine as the development server. The reverse proxy listened for remote connections on port 80 and then forwarded all HTTP traffic from the remote user to the locally scoped development server and vice versa.

Setting up the reverse proxy

The software I used for the reverse proxy is a great open-source HTTP server/reverse proxy called Nginx.

1. Download and Install Nginx

I downloaded Nginx from its official website's download page.
Once downloaded the installation amounted to nothing more than extracting the contents of the downloaded archive into a suitable directory.

2. Configure Nginx

Navigate to Nginx's configuration folder, named "conf". Within this folder create a configuration file called "asp_net_dev_svr.conf" and paste the following text into it. Be sure to update the proxy_pass directive with the development server's local URL.

worker_processes  1;
 
events {
  worker_connections  1024;
}
 
http {
  keepalive_timeout  65;
 
  server {
    listen       80;
      server_name  $remote_addr;
 
      location / {
        proxy_pass   http://localhost:51668/; # Development Server's URL
      }
  }
}

This is a very terse configuration that met my needs. If you need to extend it then check out Nginx's wiki.

Using the reverse proxy

Nginx is now ready to be started. To do this execute the "nginx.exe" file with the following arguments:

$> nginx -c conf/asp_net_dev_svr.conf

Nginx will now start in the background along with a worker process. You should now be able to access the Development Server from an external computer.

To stop Nginx just call the following:
$> nginx -s quit

Conclusion

The limited scope of the ASP.NET Development Server is easily extended to allow remote access with the use of a reverse proxy. It is important however to keep in mind the security implications of allowing remote access to your development server. So extend its scope at your own risk!