Permalink
| <?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="bin/slackin" verb="*" modules="iisnode"/> | |
| </handlers> | |
| <rewrite> | |
| <rules> | |
| <rule name="RedirectToHTTPS" stopProcessing="true"> | |
| <match url="(.*)" /> | |
| <conditions> | |
| <add input="{HTTPS}" pattern="off" ignoreCase="true" /> | |
| </conditions> | |
| <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" /> | |
| </rule> | |
| <!-- Do not interfere with requests for node-inspector debugging --> | |
| <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"> | |
| <match url="^bin/slackin\/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="bin/slackin"/> | |
| </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> |