2016-05-24 51 views
0

我已按照遷移指南在本地Linux服務器上設置Mongodb,NodeJS和Parse服務器。我可以使用REST API登錄遊戲並下載仍然由Parse's S3託管的遊戲相關文件。然而,似乎每當我做一個POST或PUT http請求時,我收到一個404找不到的錯誤。404在分析遷移後未發現錯誤

到目前爲止,我已經嘗試過: 1.在/etc/mongod.conf 中啓用HTTP接口2.檢查後發現的URL並且它們看起來正確。註銷我發送一個請求到http://<server-ip-address:1337>/parse/logout

我在想服務器上的設置可能有問題。
有沒有人遇到類似的問題?

謝謝。

回答

0

好吧,我找到了解決方案。

註銷問題:

Unity的WWW類似乎只能與POSTDATA工作。我在創建WWW實例時沒有提供postData,因爲註銷只需要自定義HTTP請求標頭。它在我創建了一個虛擬字節數組並將其傳遞給WWW構造函數後工作。

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

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

PUT問題:

我的請求頭有 'X-HTTP-方法 - 替換' 設置爲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(); 
};