J'utilise une application node.js sous iisnode (une extension pour IIS qui permet à node.js de gérer les requêtes via IIS). Par défaut, iisnode donne accès à un outil de débogage au http://myapp.com/debug
. Cependant, les sites Web Windows Azure remplacent ceci (probablement par accident) avec un urlrewrite dans web.config.Comment modifier web.config pour ne pas réécrire une certaine 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>
Je ne sais pas beaucoup sur web.config rewrite mais il me semble que <action type="Rewrite" url="app.js"/>
achemine toutes les demandes de app.js (mon principal dossier de candidature) tant que la demande ne correspond pas à une réelle statique fichier sur le serveur. C'est génial, sauf que je ne veux pas que /debug
soit routé vers app.js, je veux laisser iisnode gérer cette requête par défaut comme il est supposé le faire. Si je supprime la <action />
rewrite /debug
ne tire en effet le débogueur iisnode, mais rien ne fonctionne bien sûr: P
Comment puis-je modifier cette réécriture d'URL pour éviter /debug
?