我无缘无故地看到我的网关不好

时间:2016-11-30 00:55:21

标签: node.js nginx nginx-location

我对nginx很新,我听过很多人都赞不绝口。

我在DigitalOcean实例上运行它以及Node.JS,Mongo,Express和Angular。

我最近添加了一个SSL,它最初正在寻找。但是当我几天后回去的时候,我得到了一个502 Bad Gateway。

我的配置非常简单:

server {
    listen 80;

    server_name mydomain.com;

    listen 443 ssl;

    ssl_certificate /etc/nginx/ssl/mydomain_com/ssl-bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/mydomain_com/mydomain.com.key;

#  side note: only use TLS since SSLv2 and SSLv3 have had recent vulnerabilities
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    location / {
        proxy_pass http://130.78.19.81:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

有没有人发现这个?????

有什么问题

这是我的Express App.js文件。当我注释掉对bcrypt的引用时,一切正常。好吧,除了bcrypt方法。所以我知道这与它有关:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var bcrypt = require('bcrypt');

// Thanks to http://blog.matoski.com/articles/jwt-express-node-mongoose/

// set up a mongoose model
var UserSchema = new Schema({
    name: {
        type: String,
        unique: true,
        required: true
    },
    password: {
        type: String,
        required: true
    },
    email:{
        type: String,
        required: true
    }
});

UserSchema.pre('save', function(next) {
    var user = this;
    if (this.isModified('password') || this.isNew) {
        bcrypt.genSalt(10, function(err, salt) {
            if (err) {
                return next(err);
            }
            bcrypt.hash(user.password, salt, function(err, hash) {
                if (err) {
                    return next(err);
                }
                user.password = hash;
                next();
            });
        });
    } else {
        return next();
    }
});

UserSchema.methods.comparePassword = function(passw, cb) {
    bcrypt.compare(passw, this.password, function(err, isMatch) {
        if (err) {
            return cb(err);
        }
        cb(null, isMatch);
    });
};

module.exports = mongoose.model('User', UserSchema);

1 个答案:

答案 0 :(得分:0)

似乎http://130.78.19.81的服务器很可能阻止了端口3000,甚至可能阻止使用防火墙限制的源IP。