我想配置azure“网站”服务以使用我自己的web.config
(更好的日志控制)。我在web.config
部署git
项目的根目录中创建了一个简单的node.js
:
<?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
应用程序处理:(。我知道这是一些愚蠢的错误,但谷歌搜索出来是非常痛苦的 - 所有我对“纯文本”的搜索法术都被无数的“如何通过iisnode服务器静态内容”条款所击退:(。从头开始学习所有iis / iisnode / web.config机器对我的简单任务来说有点矫枉过正。任何提示是什么要添加到此web.config
中以便iis
将server.js
作为iisnode
脚本处理,而不是作为纯文本处理?
更新
检查通过azure向导创建的node.js存储库,我发现仅当server.js
所在的位置是src
子目录时才会出现问题。如果它位于根目录中,则一切正常。任何有关iisnode
这种行为的提示?我想要子目录:(。任何不允许的文档?
答案 0 :(得分:3)
我认为您需要向rewrite
添加web.config
规则。 IISNode模块依赖于IIS URL Rewrite模块将请求路由到NodeJS应用程序。
<rewrite>
<rules>
<rule name="iisnode">
<match url="src/*" />
<action type="Rewrite" url="server.js" />
</rule>
</rules>
</rewrite>
<强>来源强>