--- a +++ b/web.config @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + This configuration file is required if iisnode is used to run node processes behind + IIS or IIS Express. For more information, visit: + + https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config +--> + +<configuration> + <system.webServer> + <!-- Visit http://blogs.msdn.com/b/windowsazure/archive/2013/11/14/introduction-to-websockets-on-windows-azure-web-sites.aspx for more information on WebSocket support --> + <webSocket enabled="false" /> + <handlers> + <!-- Indicates that the server.js file is a node.js site to be handled by the iisnode module --> + <add name="iisnode" path="index.js" verb="*" modules="iisnode"/> + </handlers> + <rewrite> + <rules> + <!-- Do not interfere with requests for node-inspector debugging --> + <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"> + <match url="^index.js\/debug[\/]?" /> + </rule> + + <!-- First we consider whether the incoming URL matches a physical file in the /public folder --> + <rule name="StaticContent"> + <action type="Rewrite" url="public{REQUEST_URI}"/> + </rule> + + <!-- All other URLs are mapped to the node.js site entry point --> + <rule name="DynamicContent"> + <conditions> + <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> + </conditions> + <action type="Rewrite" url="index.js"/> + </rule> + </rules> + </rewrite> + + <!-- 'bin' directory has no special meaning in node.js and apps can be placed in it --> + <security> + <requestFiltering> + <hiddenSegments> + <remove segment="bin"/> + </hiddenSegments> + </requestFiltering> + </security> + + <!-- Make sure error responses are left untouched --> + <httpErrors existingResponse="PassThrough" /> + + <!-- + You can control how Node is hosted within IIS using the following options: + * watchedFiles: semi-colon separated list of files that will be watched for changes to restart the server + * node_env: will be propagated to node as NODE_ENV environment variable + * debuggingEnabled - controls whether the built-in debugger is enabled + + See https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config for a full list of options + --> + <!--<iisnode watchedFiles="web.config;*.js"/>--> + </system.webServer> +</configuration>