 <p>I believe that the way 'iisnode' works is that it intercepts requests for files with ".js" extension. I do not think it can be set up to run same way as you would run it using <code>node</code> or <code>nodemon</code>.</p> <p>In my case I set up a production Node.js server with IIS by doing the following:</p> <ol> <li><p>I set up my port in server.js to run on different port (say 81) so that it does not interfere with IIS.</p></li> <li><p>I set up node to run in a service, so that it auto-restarts when server restarts, console window will not get closed accidently, etc (there are few options you can use - for example <a href="http://nssm.cc/" rel="nofollow">http://nssm.cc/</a> but we wrote our own wrapper service). </p></li> <li><p>I set up <a href="http://dvisagie.blogspot.ca/2013/02/running-nodejs-alongside-iis-on-windows.html" rel="nofollow" title="forwarding">forwarding</a> from IIS to that node server - that way I could still use port 80 for the site externally and I was able to use host header filtering (there are multiple sites running on one server)</p></li> </ol>