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:
- Add a Reverse Proxy rewrite rule (check https://nicolas.guelpa.me/blog/2015/02/21/rewrite-redirect-iis.html about the rule details)
- Config the rewrite rule to redirect this page to the Node.js app
- (Optional) Config the related application pool following ARR Deployment Instruction
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:
Related articles
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