我从服务器收到错误,错误号为:我的API在我的本地机器上工作得很好。当我托管代码时,我得到了一个连接错误。
如果你点击URL直接你会得到产品http://nodenpm.club:3001/products这里是API的URL,我用来访问与产品http://nodenpm.club:3002/orders的订单,但当我访问此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
}
]
}
3条答案
按热度按时间ngynwnxp1#
我认为您必须将URL放入一个对象中,例如:
{url:"http://nodenpm.club:3001/products"}
x4shl7ld2#
您没有包含请求的方法。请尝试:
ckocjqey3#
应该定义方法请求
但是最好使用axios