Node JS同一请求适用于localhost但不适用于aws ec2服务器

时间:2017-09-06 11:36:02

标签: node.js http express amazon-ec2

我是后端编程的新手,并且在以用户身份登录时检测数据的GET请求存在此问题。

我的localhost服务器上的数据状态代码为200,但是相同的GET请求不会从aws EC2上的服务器返回数据。

我一直在寻找解决方案,但似乎我错过了一些我无法解决的重要信息。

localhost dev server ec2 aws server

router.get('/', function (req, res) {
    if (req.session.userId) {
        return res.sendFile(path.join(__dirname + '/../public/index.html'))
    }
    return res.sendFile(path.join(__dirname + '/../public/login.html'))
})

router.get('/data', function (req, res) {
    User.findById(req.session.userId)
        .exec(function (error, user) {
            res.send(user)
        }
    );
})

只有/ data请求表现得很奇怪。

2 个答案:

答案 0 :(得分:0)

第一

你的mongoDB服务有效吗?

  /etc/init.d/mongod status

  service mongod status

第二

你不需要写:

    .exec(function (error, user)

尝试:

    User.findById(req.session.userId, function (error, user) {
        if (error) throw error
        res.send(user)
    )};

每当您准备查询时,都会保留Exec。

第三

如果没有问题

你的版本可能并不好。尝试再次安装mongodb / nodejs

答案 1 :(得分:0)

我通过将此行添加到我的axios请求withCredentials: true

来修复它