mirror of
https://github.com/bckelley/cgm-remote-monitor.git
synced 2026-08-24 03:14:12 -05:00
Counter-intuitively this needs to be FALSE so IIS can let go of websockets and node can take over.
56 lines
2.2 KiB
XML
56 lines
2.2 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<configuration>
|
|
<system.webServer>
|
|
<!-- Counter-intuitively this needs to be FALSE so IIS can let go of websockets and node can take over. -->
|
|
<webSocket enabled="false" />
|
|
<handlers>
|
|
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
|
|
</handlers>
|
|
<rewrite>
|
|
<rules>
|
|
<rule name="Force redirect to https">
|
|
<match url="(.*)"/>
|
|
<conditions>
|
|
<add input="{HTTP_HOST}" pattern=".+\.azurewebsites\.net$" />
|
|
<add input="{HTTPS}" pattern="Off"/>
|
|
<add input="{REQUEST_METHOD}" pattern="^get$|^head$" />
|
|
</conditions>
|
|
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/>
|
|
</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="server.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> |