最小的azure node.jsconfiguration服务.js文件作为纯文本,而不是处理它们
我想configurationazure“网站”服务来使用我自己的web.config
(更好的日志控制)。 我在我的git
部署node.js
项目的根目录下创build了一个简单的web.config
:
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="iisnode" path="src\server.js" verb="*" modules="iisnode"/> </handlers> </system.webServer> </configuration>
我部署和访问azure色的网站后,它显示了src\server.js
内容,而不是作为iisnode
应用程序处理:(我知道这是一些愚蠢的错误,但谷歌search出奇怪的痛苦 – 所有我的search拼写为“纯文本“被无数”如何通过iisnode服务器静态内容“排斥:(而且从头学习所有iis / iisnode / web.config机器对于我的简单任务来说有点矫枉过正。任何提示要添加到这个web.config
所以iis
会处理server.js
作为iisnode
脚本,而不是一个纯文本?
更新
检查通过azure向导创build的node.js存储库,我发现只有当server.js
位于src
子目录时才会出现问题。 如果它位于根目录中,所有工作正常。 任何暗示为什么这样的行为iisnode
? 我想要subdirs :(。任何文件,他们不被允许?
我相信你需要添加一个rewrite
规则到你的web.config
。 IISNode模块依靠IIS URL重写模块将请求路由到您的NodeJS应用程序。
<rewrite> <rules> <rule name="iisnode"> <match url="src/*" /> <action type="Rewrite" url="server.js" /> </rule> </rules> </rewrite>
来源
- 在IIS中使用iisnode托pipeexpress node.js应用程序
- 在Windows Azure上启用Node.js服务器端应用程序