节点heroku错误:连接错误

节点heroku错误:连接错误,heroku,mongoose,Heroku,Mongoose,我在heroku上有一个CRUD应用程序连接到Mlab。我有两条不同的路径(从表单提交)将数据发送到MLab,将图像发送到S3存储桶。一条路线完全可以。另一条路径与第一条路径非常相似,减去一些文本输入,每当您提交时都会在Heroku上抛出一个错误。但实际上,它在本地运行良好。如果我删除了与图像上传相关的所有逻辑,它也可以工作。我不确定我在这里哪里出错了。我不明白为什么它会在一条几乎相同的路线上工作,但在另一条上却不行 这是我连接mongoose和路由器的app.js代码 var router =

我在heroku上有一个CRUD应用程序连接到Mlab。我有两条不同的路径(从表单提交)将数据发送到MLab,将图像发送到S3存储桶。一条路线完全可以。另一条路径与第一条路径非常相似,减去一些文本输入,每当您提交时都会在Heroku上抛出一个错误。但实际上,它在本地运行良好。如果我删除了与图像上传相关的所有逻辑,它也可以工作。我不确定我在这里哪里出错了。我不明白为什么它会在一条几乎相同的路线上工作,但在另一条上却不行

这是我连接mongoose和路由器的app.js代码

var router = express.Router();
var eventRoutes = require('./routes/event');
var adminRoutes = require('./routes/admin');
var venueRoutes = require('./routes/venue');

app.use('/', router);
app.use(eventRoutes);
app.use(adminRoutes);
app.use(venueRoutes);

mongoose.connect(process.env.HOTNIGHTDATABASEURL);

app.listen(process.env.PORT || 3000, function(){
  var date = new Date()
  console.log('Server Spinning Up at ' + date.toLocaleTimeString('en-US', 
  {hour12: true,}));
}); 
这是S3的配置和工作路由的post路由

//Multers3 and AWS s3 setup
var s3 = new aws.S3({
  accessKeyId: process.env.HOTNIGHTEVENTSBUCKETID,
  secretAccessKey: process.env.HOTNIGHTEVENTSBUCKETSECRET,
  region: 'us-east-2'
});

var upload = multer({
  storage: multerS3({   
    s3: s3,
    acl: 'public-read',
    bucket: 'hot-night-events',
    metadata: function (req, file, cb) {
      cb(null, {fieldName: file.fieldname});
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString())
    }
  })
});

router.post('/events', upload.single('image'), function(req, res){
var event = new Event({
... for brevity left out data collected from form
});
    event.save(function(err, data){
        if(err){
            console.log(err);
        } else {
            res.redirect('/');
        }
    });
});
这是另一个不起作用的路由(在另一个文件中):

//Multers3 and AWS s3 setup
    var s3 = new aws.S3({
      accessKeyId: process.env.HOTNIGHTEVENTSBUCKETID,
      secretAccessKey: process.env.HOTNIGHTEVENTSBUCKETSECRET,
      region: 'us-east-2'
    });

    var upload = multer({
      storage: multerS3({   
        s3: s3,
        acl: 'public-read',
        bucket: 'hot-night-events',
        metadata: function (req, file, cb) {
          cb(null, {fieldName: file.fieldname});
        },
        key: function (req, file, cb) {
          cb(null, Date.now().toString())
        }
      })
    });

    router.post('/venues', upload.single('venueImage'), function(req, res){
    var venue = new Venue({
    ... for brevity left out data collected from form
    });
        venue.save(function(err, data){
            if(err){
                console.log(err);
            } else {
                res.redirect('/');
            }
        });
    });

任何帮助都将不胜感激。

您遇到的错误是什么?@SatnamSandhu。错误是--error:econnrefered169.254.169.254:80 at Object.\u errnoException(util.js.992:11)at_exception with hostport(util.js.1014:20)at TCPConnectWrap.afterConnect[as complete](net.js.1186:14)我很确定错误中的IP地址是针对S3存储桶的。