[英]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.