在nodejs express项目中调用POST / inform

时间:2018-07-20 21:22:52

标签: node.js express

我有一个非常简单的使用express的nodejs项目。当我在本地启动该项目时,我注意到大约每30秒就有一次调用POST来/ inform。我想知道什么叫告知,目的是什么。

我是Node的新手。这正常吗?我尚未为该调用实现路由,因此会导致404。

这是我的主要应用程序

const createError = require('http-errors');
const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const logger = require('morgan');
const fileUpload = require('express-fileupload');

const app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(fileUpload());

// routes
const indexRouter = require('./routes/index');
const usersRouter = require('./routes/users');
app.use('/', indexRouter);
app.use('/users', usersRouter);

// catch 404 and forward to error handler
app.use((req, res, next) => {
  console.log(req)
  next(createError(404));
});

// error handler
app.use((err, req, res) => {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`App listening on port ${PORT}`);
  console.log('Press Ctrl+C to quit.');
});

在控制台中,大约每30秒就会看到一次:

POST /inform 404 14.002 ms - 2158
POST /inform 404 13.910 ms - 2158
POST /inform 404 31.536 ms - 2158

编辑:

感谢您的评论。我将快速端口更改为8000,并且不再发生。因此,本地计算机上的某些内容正在循环并发布到localhost:8080 / inform。我将不得不对此进行追踪。

2 个答案:

答案 0 :(得分:1)

我在家有一个Ubiquity Unify网络堆栈。在笔记本电脑上运行(并停止)Unifi Controller之后,我的所有Unify设备继续发送POST <laptop IP>:8080/inform

我自己的应用程序的日志记录充满了相同的未知路由:“ / inform”错误。

解决方案:

  • 选择其他端口
  • 将您的应用程序绑定到“ localhost”,而不是“ 0.0.0.0”
  • 获取专用的控制器设备,例如Raspberry Pi或Unifi Cloud Key

答案 1 :(得分:0)

如果您正在听公共地址,那么这几乎是您PC甚至本地网络中其他系统上的任何应用程序。

您可以实现路由,以查看请求标头/正文是否提供任何提示来自何处。

诸如Wireshark之​​类的外部软件也可能会监视对localhost的网络调用,包括其来源。

否则,请使用其他端口,没人要向其发送定期ping。