尝试传输到iisnode时节点应用404

时间:2014-05-29 11:35:44

标签: node.js http-status-code-404 iisnode

我正在尝试将nodejs应用程序从我的开发机器传输到我们的IIS服务器。它在我的机器上运行得非常好,但是当我将它传输到IIS时,我总是得到404。

目录结构如下:

C:\Programs Files\iisnode\wwww
└ mysite
  ├ public
  │ ├ app
  │ ├ css
  │ ├ js
  │ └ index.html
  ├ web.config
  └ server.js

当我去:localhost/node/mysite时,我得到了404。

以下是我web.config的内容:

<configuration>
    <system.webServer>
        <handlers>
            <add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
        </handlers>

        <!-- Tell iisnode where node.exe is located -->
        <iisnode nodeProcessCommandLine="C:/Program Files/nodejs/node.exe"/>

        <!-- Redirect all requests to server.js -->
        <rewrite>
            <rules>
                <rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
                    <match url="^[a-zA-Z0-9_\-]+\.js\.logs\/\d+\.txt$"/>
                </rule>

                <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
                    <match url="^server.js\/debug[\/]?"/>
                </rule>

                <rule name="StaticContent">
                    <action type="Rewrite" url="public{REQUEST_URI}"/>
                </rule>

                <rule name="DynamicContent">
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
                    </conditions>
                    <action type="Rewrite" url="server.js"/>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

我尝试使用node/mysite作为前缀来更新我的快速路线但是没有效果。

我可以告诉该节点正在接收请求,因为我已将其设置为记录所有请求,并且日志文件中有以下内容:

Server started on //.pipe/<some long code>
GET /node/mysite

0 个答案:

没有答案