/ / minimal azure node.js config sert les fichiers .js en texte brut au lieu de les traiter

azure node.js config minimal sert les fichiers .js en texte brut au lieu de les traiter - node.js, iis, azure, iisnode

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 № 1

Je 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