我已按照迁移指南在Linux服务器上本地设置Mongodb,NodeJS和Parse服务器。我可以使用REST API登录游戏并下载仍由Parse S3托管的游戏相关文件。然而,似乎无论何时我正在进行POST或PUT http请求,我都会收到404未找到的错误。
到目前为止,我已尝试过:
1.在/etc/mongod.conf
中启用HTTP接口
2.检查帖子URL并且它们看起来正确。要退出,我正在向http://<server-ip-address:1337>/parse/logout
我认为服务器上的设置可能有问题。
有没有人遇到过类似的问题?
感谢。
答案 0 :(得分:0)
好的,我找到了解决方案。
退出问题:
Unity的WWW类似乎只适用于有效的postData。我在创建WWW实例时没有提供postData,因为logout只需要自定义HTTP请求标头。它在我创建一个虚拟字节数组并将其传递给WWW构造函数后起作用。
WWW www = new WWW(url, null, headers) // return 404
WWW www = new WWW(url, new byte[1], headers) // worked
PUT问题:
我的请求标题包含&#39; X-HTTP-Method-Override&#39;设置为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();
};