node.js - 为什么服务器向自己发送请求?
问题描述
我在快递服务器 A 中有一项服务,我必须将图片发送到另一个快递服务器 B。
代码如下所示:
export const savePhotoTest = async (_req: Request, resp: Response) => {
const filePath = path.join('path', 'to', 'file');
const stats = fs.statSync(filePath);
const fileSizeInBytes = stats.size;
const fileStream = fs.readFileSync(filePath);
fetch("http://other.server/upload", {
method: 'POST',
headers: {
"Content-Length": `${fileSizeInBytes}`,
},
body: fileStream
})
.then((res) => {
resp.status(200);
resp.json({ msg: "Completed!" });
})
.then((json) => {
console.log(json);
})
.catch((err) => {
resp.status(500);
resp.json({ msg: "An error ocurred" });
})
}
问题是请求返回 200 但图片永远不会到达服务器 B,并且我发现服务器似乎是自己向它发出请求的。我得到类似的东西:
POST /upload 200 XX.XX ms - 22
GET /original/service 200 XX.XX ms - -
因此,似乎服务器正在向自己发送 /upload 请求,而它应该将其发送到另一台服务器,因为我已经正确指定了 url。
我想知道是否有任何防火墙配置或将请求发送回服务器 A,而不是将其发送到服务器 B。
任何想法?
谢谢你的帮助。
解决方案
推荐阅读
- python - 如何在 Discord.Py 中为每个公会使用不同的循环循环任务
- r - 对象不是在 R 中使用 cragg 包和映射的矩阵错误
- javascript - 如何使用 socket.io 发送 MediaStream AUDIO 数据
- chart.js - 如何提高 Chart.js 的输出质量 --> pdf 和 png 文件的图像质量都较低
- r - 带有 purrr::map_dfr() 的本机管道
- java - 滚动视图不会填充
- javascript - AWS S3 不再在新的 v3 API 中返回“位置”URL
- firebase - Cloud Functions,何时清理临时磁盘?
- regex - 将条件 Perl 正则表达式匹配转换为 VB.NET
- regex - 如何在 Rust 中使用正则表达式从右侧查找?