/ / minima azure node.js config serve i file .js come testo normale invece di elaborarli - node.js, iis, azure, iisnode

azure minimal.js config serve i file .js come testo normale invece di elaborarli - node.js, iis, azure, iisnode

Voglio configurare il servizio "sito Web" per l'uso web.config di mio (migliore controllo di registro). Ho creato un semplice web.config nella radice del mio git distribuzione node.js progetto:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="srcserver.js" verb="*" modules="iisnode"/>
</handlers>
</system.webServer>
</configuration>

Dopo l'implementazione e l'accesso al sito Web di Azure, mi viene mostrato il contenuto di srcserver.js invece di elaborarlo come iisnode app :(. So che si tratta di un errore stupido, ma cercarlo su google è sorprendentemente doloroso - tutti i miei incantesimi di ricerca per "testo semplice" sono respinti da innumerevoli articoli "come server statico tramite iisnode" :(. E imparando tutti i iis / iisnode /web.config: I macchinari da zero sono un po 'eccessivo per il mio semplice compito, qualsiasi suggerimento su cosa aggiungere in questo web.config così iis elaborerà server.js come iisnode script e non come un testo normale?

Aggiornare

Esaminando il repository node.js creato tramite wizard blu, ho capito che il problema si verifica solo se server.js si trova è src sottodirectory. Se si trova nella directory principale, tutto funziona correttamente iisnode? Voglio sottodir :(. Tutta la documentazione che non sono permessi?

risposte:

3 per risposta № 1

Credo che sia necessario aggiungere un rewrite regna al tuo web.config. Il modulo IISNode si basa sul modulo Riscrivi URL IIS per instradare le richieste all'applicazione NodeJS.

<rewrite>
<rules>
<rule name="iisnode">
<match url="src/*" />
<action type="Rewrite" url="server.js" />
</rule>
</rules>
</rewrite>

fonti