【问题标题】:Heroku/Node.js - Routing error of some kind causing Internal Server ErrorsHeroku/Node.js - 某种导致内部服务器错误的路由错误
【发布时间】:2018-06-15 19:33:14
【问题描述】:

我正在 Heroku 上运行 Node.js/Express/MongoHQ 应用程序。它在本地完美运行。当我推送到 Heroku 时,根页面“/”正确加载并且成功访问了 MongoHQ 数据库。其他所有路由都会给我一个内部服务器错误,并且 Heroku 日志中没有可识别的错误。虽然如果我去 /page/ 我确实让我的应用程序的 500 页面正确呈现(随机...)

有什么你能想到的可能会出错的地方吗?我认为这是一个数据库的事情,但现在它似乎是一个路由的事情。我很乐意提供任何代码......我想我会粘贴一些日志,尽管它对我来说非常无用。 MAJORYL 对任何想法表示赞赏。

谢谢。

日志(基本上适用于除“/”之外的任何路线)

2011-10-07T17:27:03+00:00 app[web.1]: 10.94.69.43 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /assets_js/lib/jquery.1.4.2.min.js HTTP/1.1" 304 - "<MYSITE>/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/assets_js/lib/jquery.timeago.js dyno=web.1 queue=0 wait=0ms service=5ms status=304 bytes=0
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/assets_js/lib/jquery.1.4.2.min.js dyno=web.1 queue=0 wait=0ms service=7ms status=304 bytes=0
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/assets_js/lib/iscroll.js dyno=web.1 queue=0 wait=0ms service=3ms status=304 bytes=0
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/assets_css/viewer.css dyno=web.1 queue=0 wait=0ms service=3ms status=304 bytes=0
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/assets_js/utils.js dyno=web.1 queue=0 wait=0ms service=2ms status=304 bytes=0
2011-10-07T17:27:03+00:00 app[web.1]: 10.117.9.191 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /assets_js/lib/iscroll.js HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:03+00:00 app[web.1]: 10.117.11.66 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /assets_css/viewer.css HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/assets_js/mediacreate.js dyno=web.1 queue=0 wait=0ms service=2ms status=304 bytes=0
2011-10-07T17:27:03+00:00 app[web.1]: 10.94.74.117 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /assets_js/mediacreate.js HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/view_dashboard/activecard.js dyno=web.1 queue=0 wait=0ms service=3ms status=304 bytes=0
2011-10-07T17:27:03+00:00 app[web.1]: 10.84.93.33 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /view_dashboard/activecard.js HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/view_dashboard/drawon.js dyno=web.1 queue=0 wait=0ms service=3ms status=304 bytes=0
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/assets_css/dashboard.css dyno=web.1 queue=0 wait=0ms service=3ms status=304 bytes=0
2011-10-07T17:27:03+00:00 app[web.1]: 10.64.155.131 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /view_dashboard/dashboard.js HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:03+00:00 heroku[router]: GET <MYSITE>/view_presentation/cards/cards.js dyno=web.1 queue=0 wait=0ms service=8ms status=304 bytes=0
2011-10-07T17:27:03+00:00 app[web.1]: 10.84.95.29 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /view_presentation/cards/cards.js HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:03+00:00 app[web.1]: 10.64.155.131 - - [Fri, 07 Oct 2011 17:27:03 GMT] "GET /view_presentation/cards/cards.css HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:05+00:00 app[web.1]: 10.64.147.7 - - [Fri, 07 Oct 2011 17:27:05 GMT] "GET /assets_img/graph.gif HTTP/1.1" 304 - "<MYSITE>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:05+00:00 heroku[router]: <MYSITE>/assets_img/graph.gif dyno=web.1 queue=0 wait=0ms service=6ms status=304 bytes=0
2011-10-07T17:27:05+00:00 app[web.1]: 10.84.95.29 - - [Fri, 07 Oct 2011 17:27:05 GMT] "GET /favicon.ico HTTP/1.1" 500 1682 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"
2011-10-07T17:27:05+00:00 heroku[router]: GET <MYSITE>/favicon.ico dyno=web.1 queue=0 wait=0ms service=5ms status=500 bytes=1682

【问题讨论】:

  • 您的静态文件似乎配置错​​误。您可以发布您的快速配置的那部分吗?如果您使用的是样板模板,应该看起来像 app.use(express['static'](__dirname+'/public', {maxAge: 86400000}));
  • 好吧,我希望你在这里有所收获。这是我当前的静态目录 `app.use(express.static(__dirname + '/public'));` 然后我在“assets_css、assets_js 等...”中有 5 个文件夹。我不完全相信这可能是它的唯一原因是当我转到“/”时,它似乎确实正确地提取了所有这些文件。
  • 问题似乎出在您的路由定义或 server.js 定义中(如何处理 favicon.ico)。你能发布这些吗?
  • 看看你的 app.js 文件会很有帮助。另外,为了确定一下,您是否已将所有模块依赖项添加到您的 package.json 文件中?

标签: node.js heroku express


【解决方案1】:

我能想到的几种可能性:

  • 您的 node.js 版本可能与 heroku 的版本不同。运行 node --version 找到你的,然后在 package.json 中添加类似这样的内容,让 heroku 使用相同的版本:"engines": { "node": "0.6.14"}
  • 您在本地的某些依赖项的版本与 package.json 中指定的版本不同。运行npm ls 以查看您在本地拥有的内容,并在推送时关注 heroku 的日志以查看它下载的版本。
  • 您在本地有一些未签入的重要文件:git status 如果您有 .gitignore.slugignore 文件,请检查它们。
  • 这可能是操作系统的问题,我不确定是哪种风格,但我很确定 heroku 运行 Linux。 require('os').type()require('os').release() 可以在这里为您提供一些信息。

【讨论】:

    【解决方案2】:

    我在部署到 Heroku 时遇到了类似的问题。原来我的文件名破坏了现场代码,但不是本地代码。

    例如,我有一个名为 createSession.hbs 的视图。在我的路线(createSession.js)中我正在做

    res.render('createsession', {...});

    在本地,大写“S”无关紧要,但在部署时出现内部服务器错误。

    我的本​​地操作系统是 Windows,我部署在 Heroku(Ubuntu 服务器)上。

    愚蠢而烦人的错误,因为它在本地工作,但希望它对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多