Je veux configurer le service "site web" azur à utiliser web.config
de mon propre (meilleur contrôle de journal). J'ai créé un simple web.config
à la racine de mon git
déployer node.js
projet:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="srcserver.js" verb="*" modules="iisnode"/>
</handlers>
</system.webServer>
</configuration>
Après avoir déployé et accédé au site azur, il me montre le contenu de srcserver.js
au lieu de le traiter comme iisnode
app :(. Je sais que c’est une erreur stupide, mais googler ceci est étonnamment douloureux - tous mes sorts de recherche de "texte brut" sont repoussés par d'innombrables articles "Comment gérer du contenu statique via iisnode" /web.config est une machine un peu lourde pour ma tâche simple. web.config
alors iis
traitera server.js
comme iisnode
script et pas comme un texte brut?
Mettre à jour
En examinant le référentiel node.js créé via azure wizard, j’ai compris que ce problème ne se produit que si server.js
est situé est src
sous-répertoire. Si cela se trouve dans le répertoire racine, tout fonctionnera bien. iisnode
? Je veux subdirs :(. Toute documentation qu'ils ne sont pas autorisés?
Réponses:
3 pour la réponse № 1Je crois que vous devez ajouter un rewrite
règle à votre web.config
. Le module IISNode s'appuie sur le module IIS URL Rewrite pour router les demandes vers votre application NodeJS.
<rewrite>
<rules>
<rule name="iisnode">
<match url="src/*" />
<action type="Rewrite" url="server.js" />
</rule>
</rules>
</rewrite>
Sources
- Hébergement d'applications express node.js dans IIS à l'aide d'iisnode
- Activation d'une application côté serveur Node.js sous Windows Azure