我在iisnode(允许node.js通过IIS管理请求的IIS扩展)下运行node.js应用程序。默认情况下,iisnode允许访问调试工具http://myapp.com/debug
。但是,Windows Azure网站会在web.config中使用urlrewrite覆盖此(可能是偶然)。如何修改web.config以不重写某个url?
<system.webServer>
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<rule name="StaticContent">
<action type="Rewrite" url="public{REQUEST_URI}"/>
</rule>
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
</conditions>
<action type="Rewrite" url="app.js"/>
</rule>
</rules>
</rewrite>
<iisnode
debuggingEnabled="true"
devErrorsEnabled="true"
debuggerPathSegment="debug"
nodeProcessCommandLine=""%programfiles(x86)%\nodejs\node.exe""
logDirectory="..\..\LogFiles\nodejs"
watchedFiles="*.js;iisnode.yml;node_modules\*;views\*.jade;views\*.ejb;routes\*.js" />
</system.webServer>
我不知道很多关于web.config中重写,但在我看来像<action type="Rewrite" url="app.js"/>
是路由所有的请求app.js(我的主应用程序文件),只要该请求不符合实际的静态文件在服务器上。除了我不希望/debug
被路由到app.js,我想让iisnode按默认的方式处理该请求。如果我删除<action />
重写/debug
确实拉起了iisnode调试器,但当时没有别的作品当然是:P
我该如何修改这个url重写以避免/debug
?