为什么我在Elastic Beansatlk Node.js上收到502 Bad Gateway错误

问题描述

我已将此代码连同所有节点模块一起上载到了Elastic beantalk,Elastic Beanstalk认为运行状况还可以。而且,当我第一次访问该链接时,我可以正常工作,并且看到一个简单易用的“不必登录/ login获取登录信息”。

但是当我尝试转到/ login时,一切都出错了。我收到“ 502 Bad Gateway Nginx / 1.18.0”错误,并且我想不出任何办法修复它。我尝试将端口更改为8081,尝试运行npm init和npm start,并且一切都在我的本地主机上运行,​​但不在这里

我什至尝试上传我知道有效的另一台服务器的代码。 DID可以正常工作,告诉我它与源代码有关。

我还尝试过将所有代码移至单独的目录,使用npm init和npm install来启动新的nodeJS产品,然后将代码移回新目录。我仍然收到502错误。发生什么事了?

我的代码

//npm install express MysqL cors aes256
 
 
var aes256 = require('aes256');
const express = require('express');
const cors = require('cors');
const app = express();
const {PORT = 5000} = process.env
const MysqL = require('MysqL');
const Key = require('./key');
const salt = require('node-forge');
const pass = require('node-forge');
const data = require("./Login.json");
 
 
//var key = 'asdfl;sdjlkfjlk;asdlkj';
//var plaintext = 'my plaintext message';
 
//var encrypted = aes256.encrypt(key,plaintext);
//var decrypted = aes256.decrypt(key,encrypted);
 
var con = MysqL.createConnection({
  host: data.host,user: data.user,password: data.password,database: data.database
});
 
 
app.get('/',(req,res) =>{
    res.end("got to /login for login info")
  })
 
app.get('/signup',res) =>{
  const{username,password} = req.query;
  let saltGenerator = salt.md.sha256.create();
  let passHashGenerator = pass.md.sha256.create();
  let saltedPassword;
  let passHash;
  let querySignUp = "INSERT INTO userlogin VALUES(?,?)";
  let inserts = [];
 
  saltGenerator.update(username); //generate a salt from the second half of their username
 
  saltedPassword = password + saltGenerator.digest().toHex(); //add the salt onto the password.
  //console.log(saltedPassword);
 
  passHashGenerator.update(saltedPassword);
 
  passHash = passHashGenerator.digest().toHex();        //generate a hash of the salted password
 
  inserts[0] = username;
  inserts[1] = passHash;
 
  querySignUp = MysqL.format(querySignUp,inserts);
  //console.log(query);
 
 
  con.query(querySignUp,(err,result) => {
    if(err){
      console.log("ERROR!")
 
      if(err.errno === 1062){
        res.end("duplicate");
      }
      return res.end(err);
    }else{
 
      return res.end("inserted")
    }
  })
 
 
})
 
app.get('/login',password} = req.query;
  let saltGenerator = salt.md.sha256.create();
  let passHashGenerator = pass.md.sha256.create();
  let saltedPassword;
  let passHash;
  let queryLogin = "SELECT passHash FROM userlogin WHERE username = ?"
  let inserts = [];
  let storedHash;     //password hash in the database
 
  console.log("hi");
  saltGenerator.update(username); //generate a salt from their username
 
  saltedPassword = password + saltGenerator.digest().toHex(); //add the salt onto the password.
 
  passHashGenerator.update(saltedPassword);
 
  passHash = passHashGenerator.digest().toHex();        //generate a hash of the salted password
 
  inserts[0] = username;
 
  queryLogin = MysqL.format(queryLogin,inserts);
 
  con.query(queryLogin,result) => {
    if(err){
      console.log("ERROR!");
      return res.end(err);
    }else{
 
      //the username does not exist
      if(result.length === 0){
        res.end("unfound");
      }else{
        storedHash = result[0].passHash;
 
        if(passHash === storedHash){  // password is correct
          res.end("granted");
        }else{                  //password is incorrect
          res.end("incorrect");
        }
 
        return res.end("returned")
      }
    }
  })
 
 
})
 
app.listen(PORT,() => {
  console.log('Server Loaded on port ${PORT}');
})

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)