繁体   English   中英

Node.JS 应用程序将在 localhost 上运行,但不会通过 iisnode 在 URL 上运行

[英]Node.JS application will run on localhost but not URL via iisnode

我有一个 node.js 应用程序,当我 go 到 localhost:3000 时运行良好,但是当我尝试通过 url 使用 iisnode 访问它时,它返回以下。

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'.

除了node.exe进程的stdout和stderr的日志,考虑使用debugging和ETW traces来进一步诊断问题。

node.exe进程生成到stderr的output最后64k如下图:

警告:connect.session() MemoryStore 不是为生产环境设计的,因为它会泄漏 memory,并且不会扩展到单个进程。 Pipe 生产需要提升权限

你的意思是你可以直接在服务器上访问 node.js 应用程序,但是如果你使用 IP 地址它会抛出错误?

对于警告,您似乎已经使用 MemoryStore 来存储 session。 MemoryStore 仅用于开发模式,可能会导致此问题。

我建议您可以尝试使用cookie-session package。

为此,只需安装 cookie-session:

npm install cookie-session

然后在您的 app.js 中,找到使用 express-session 的位置并替换为 cookie-session。

app.use(require('cookie-session')({
    // Cookie config, take a look at the docs...
}));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM