Parse 迁移后出现 404 Not Found 错误

Parse 迁移后出现 404 Not Found 错误

0 反对 收藏

我已按照迁移指南在我们的 Linux 服务器上本地设置了 Mongodb、NodeJS 和 Parse 服务器。我能够使用 REST API 登录游戏并下载仍由 Parse 的 S3 托管的游戏相关文件。但是,似乎每当我执行 POST 或 PUT http 请求时,我都会收到 404 未找到错误。

到目前为止我已经尝试过:

  1. 在 /etc/mongod.conf 中启用 HTTP 接口

  2. 检查了帖子 URL,它们看起来正确。为了退出,我向 http:///parse/logout 发送了一个帖子请求

  3. 通过以下链接处理 http 方法覆盖:https://stackoverflow.com/questions/24019489/node-js-express-4-x-method-override-not-handling-put-request

我怀疑服务器的设置可能有问题。有人遇到过类似的问题吗?

谢谢。

答案1

好的,我找到了解决方案。

注销问题:

Unity 的 WWW 类似乎只适用于有效的 postData。由于注销仅需要自定义 HTTP 请求标头,因此我在创建 WWW 实例时没有提供 postData。在我创建虚拟字节数组并将其传递给 WWW 构造函数后,它就可以正常工作了。

WWW www = new WWW(url, null, headers) // return 404

WWW www = new WWW(url, new byte[1], headers) // worked

放置问题:

我的请求标头将“X-HTTP-Method-Override”设置为 PUT,但它对服务器没有影响,直到我修改了 middlewares.js 中的 allowMethodOverride 函数

var allowMethodOverride = function allowMethodOverride(req, res, next) {

  if (req.method === 'POST' && req.body._method) {
    req.originalMethod = req.method;
    req.method = req.body._method;
    delete req.body._method;
  }
  // Also detect these override request header sent by Unity clients
  else if (req.method === 'POST' && req.get('X-HTTP-Method-Override')) {
    req.originalMethod = req.method;
    req.method = req.get('X-HTTP-Method-Override');
  }
  next();
};

相关内容