我从服务器收到错误,错误号为:ECONNREFUSED 我的API在本地计算机上运行良好。托管代码时,出现连接错误。
如果直接点击URL,您将获得产品http://nodenpm.club:3001/products 这是我用来访问产品http://nodenpm.club:3002/orders的订单的API URL 但是当我使用请求访问此URL时,出现以下错误
{
"status": false,
"error": {
"errno": "ECONNREFUSED",
"code": "ECONNREFUSED",
"syscall": "connect",
"address": "172.17.0.3",
"port": 3001
}
}
我正在使用Ubuntu服务器与docker托管。我也尝试了代理请求,但不起作用。以下是我的要求代码。
const express = require("express");
const request = require('request');
const app = express();
app.get("/orders", (req, res) => {
var options = {
url: 'http://nodenpm.club:3001/products',
headers: { 'Content-Type': 'application/json' }
};
request(options, (error, response, body) => {
if (!error) {
res.status(200).json({
status: true,
body: body
});
}
})
});
app.listen(3002, () => {
console.log('order services listening on http://nodenpm.club:3002');
});
我期望的输出低于
{
"status": true,
"products": [
{
"_id": "5d5f84afdb78bd0b10e38879",
"name": "mobile",
"price": 10000
}
]
}
答案 0 :(得分:0)
我认为您必须将URL放入一个对象中,例如:
{url:"http://nodenpm.club:3001/products"}
答案 1 :(得分:0)
您不包括请求的方法。试试:
request.get(options, (error, response, body) => {
if (!error) {
res.status(200).json({
status: true,
body: body
});
}
})