Integrating Node.js with Windows IIS

This is an alternative solution for IISNode. I want a full control of my application (e.g. port) instead of relying on the 0.2~ version library IISNode.

IIS provides a very friendly UI for binding the domain with the application. I have done some research of pointing the domain to the Node.js application directly, but could not make it work.

Prerequisites

Step-by-step guide

  • Install ARR. Restart IIS as needed, after the installation is completed.
  • Click the ARR icon:

  • Enable proxy:

  • Select a website (can be empty just for routing purpose) and click URL Rewrite:

  • Config the rewrite rule to redirect this page to the Node.js app


Note: check the Request Filtering if any link does not work.

IIS Permission Settings

In IIS, if the Anonymous user identity is set as IUSR, we need to add the IIS_USRS to the website's virtual folder:

http://dvisagie.blogspot.com/2013/02/running-nodejs-alongside-iis-on-windows.html

http://www.gitshah.com/2013/06/how-to-use-iis7-as-front-end-to-java.html