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 № 1Credo 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
- Hosting di Express node.js in IIS usando iisnode
- Abilitazione di un'app lato server Node.js su Windows Azure