Heroku + Node + Express抛出H18错误,但仅在生产环境中

时间:2019-03-28 22:45:46

标签: node.js express heroku

就像标题说的那样;我的Heroku生产服务器抛出以下错误。 仅当secret_key与config.SECRET_KEY不匹配时才会发生。如果机密正确,则可以正常处理该请求。

sock=backend at=error code=H18 desc="Server Request Interrupted" method=POST path="/selfie?secret_key=....

使用Heroku local或作为独立Node应用程序运行时不会发生这种情况。我在这里想念什么?

router.post('/selfie', async (req, res) => {
    try {
        if (_.isNil(req.query) || _.isNil(req.query.secret_key)) {
            // Fails here if secret_key is not defined
            return res.sendStatus(401);
        }

        if (req.query.secret_key != config.SECRET_KEY) {
            // Fails here if secret_key is wrong, same error
            return res.sendStatus(403);
        }

        await singleUpload(req, res, function(error) {
            if (error || _.isNil(req.file) || _.isNil(req.file.location)) {
                return res.sendStatus(500);
            }

            const storageItem = imageStorage.store(req.file.location)

            return res.json({
                code: storageItem.code,
                url: storageItem.imageURL
            });
        });
    } catch (err) {
        return res.sendStatus(500);
    }
});

0 个答案:

没有答案