问题描述
我已将此代码连同所有节点模块一起上载到了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 (将#修改为@)