如何更正IISNode HTTP 500子状态1002进程请求错误

时间:2019-07-09 22:09:01

标签: node.js iis npm

尝试使用IISNode在Windows IIS中托管应用程序时,出现以下错误。

  

iisnode在处理请求时遇到错误。

HRESULT: 0x2
HTTP status: 500
HTTP subStatus: 1002
HTTP reason: Internal Server Error

You are receiving this HTTP 200 response because 
system.webServer/iisnode/@devErrorsEnabled configuration setting is 'true'.

In addition to the log of stdout and stderr of the node.exe process, 
consider using debugging and ETW traces to further diagnose the problem.

The last 64k of the output generated by the node.exe process 
to stderr is shown below:
  

应用程序引发了未捕获的异常并被终止:

     

错误:EPERM:不允许操作,lstat'C:\ path \ to \ project'

     

在Object.fs.lstatSync(fs.js:893:18)
  在Object.realpathSync(fs.js:1527:21)
  在toRealPath(module.js:132:13)
  在Function.Module._findPath(module.js:180:22)
  在Function.Module._resolveFilename(module.js:470:25)
  在Function.Module._load(module.js:420:25)
  在Module.require(module.js:500:17)
  在要求时(internal / module.js:20:19)
  在对象。 (C:\ Program Files \ iisnode \ interceptor.js:210:1)
  在Module._compile(module.js:573:32)

我尝试更改服务器以监听process.env.PORT,但仍然遇到问题。

还要设置

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

<iisnode 
  nodeProcessCommandLine="&quot;%programfiles%\nodejs\node.exe&quot;"
  interceptor="&quot;%programfiles%\iisnode\interceptor.js&quot;"
/>

web.config文件中。

1 个答案:

答案 0 :(得分:0)

运行npm clear cache --force解决了此问题。