我为应用服务器端编写了以下代码:
const express = require('express');
const app = express();
const path = require('path');
const morgan = require('morgan');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
require('dotenv').config()
const userRoutes = require('./api/routes/user');
const port = process.env.PORT || 3000;
mongoose.connect(String(process.env.DB_CONNECT), {
useCreateIndex: true,
useNewUrlParser: true,
useUnifiedTopology: true
}, () => console.log('Connect to the database'));
mongoose.Promise = global.Promise;
app.use(morgan('dev'));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use( (req, res, next) => {
res.header('Access-Control-Allow-Origin', 'https://constafast.cf');
res.header(
'Access-Control-Allow-Headers',
'Origin, X-Requested-With, Content-Type, Accept, Authorization'
);
res.header('Connection', 'Keep-Alive');
if ( req.method === 'OPTIONS' ) {
res.header('Access-Control-Allow-Methods', 'PUT, POST, PATCH, DELETE, GET');
return res.status(200).json({});
}
next();
});
app.use('/api/user', userRoutes);
app.use( (req, res, next) => {
const error = new Error('Not found');
error.status = 404;
next(error);
});
app.use( (error, req, res, next) => {
res.status(error.status || 500);
res.json({
error: {
message: error.message
}
});
});
app.listen(port, () => console.log(`Server up and running on port ${port}`));
我已经在zeit
技术上部署了该服务器,但有时(最近经常发生)我注意到请求没有成功。查看zeit
日志,我看到此错误:
{“ errorType”:“ Error”,“ errorMessage”:“ socket hang up”,“ code”:“ ECONNRESET”,“ stack”:[“ Error:socket hang up”,“ at connResetException(内部/错误.js:570:14)“,”在Socket.socketOnEnd(_http_client.js:440:23)“,”在Socket.emit(events.js:215:7)“,”在endReadableNT(_stream_read.js:1183 :12)“,”在processTicksAndRejections(internal / process / task_queues.js:80:21)“]
如何防止或永久解决此错误?