所以我在www.infinity2o.com上部署了一个完整的堆栈Node.js webapp
当我在本地开发它时,我通过代理从localhost:3000
到localhost:5000
通过添加到我的package.json
:
"proxy": {
"/auth/*": {
"target": "http://localhost:5000"
},
"/api/*": {
"target": "http://localhost:5000"
}
},
我的问题是,当我的后端API使用以下代码向EC2上的RabbitMQ服务器发送消息(msg
)时:
await amqp.connect(
'amqp://infinity2o:2134711@52.4.101.52:5672',
function(err, conn) {
conn.createChannel(function(err, ch) {
let q = 'run_minerva_for_new_user_queue';
let msg = mongoDBUserId;
ch.assertQueue(q, { durable: false });
ch.sendToQueue(q, new Buffer(msg));
console.log(' [x] Sent %s', msg);
});
setTimeout(function() {
conn.close();
process.exit(0);
}, 500);
}
);
我的前端webapp的后端服务器说:
Error occurred while trying to proxy request /api/current_user from localhost:3000 to http://localhost:5000 (ECONNREFUSED)
问题是我不明白为什么命中我的后端API的不同部分会导致此问题,因为在发送RabbitMQ消息后命中/api/current_user
。
答案 0 :(得分:0)
这是因为我在RabbitMQ代码中有process.exit(0);
我从文档中复制过来。