【发布时间】:2022-01-25 11:53:12
【问题描述】:
我正在使用 express-rate-limit 软件包版本 6.0.1 来限制请求的命中,我还使用了 https://www.npmjs.com/package/express-rate-limit 上的 express-rate-limit 文档
但是,当我在我的应用程序中使用它时,我的应用程序崩溃了。 我不明白这里发生了什么。我已经搜索分配了一个结论,但没有任何结果。 有人可以告诉我我做错了什么吗???
...
//Load env vars
dotenv.config({ path: "./config/config.env" });
//Connect to database
connectDB();
const app = express();
//Set Static folder
app.use(express.static(path.join(__dirname, "public")));
// Body Parser
app.use(express.json());
// Cookie parser
app.use(cookieParser());
//Dev logging middleware
if (process.env.NODE_ENV === "development") {
app.use(morgan("dev"));
}
// File uploading
app.use(fileUpload());
// Sanitize data
app.use(mongoSanitize());
// Set security headers
app.use(helmet());
// Prevent XSS attacks
app.use(xss());
//Rate limiting
const limiter = rateLimit({
windowMs: 10 * 60 * 1000, // 10 mins
max: 1,
});
app.use(limiter);
// Prevent http param pollution
app.use(hpp());
app.use(errorHandler);
const PORT = process.env.PORT || 5000;
const server = app.listen(
PORT,
console.log(
`Server running in ${process.env.NODE_ENV} mode on port ${PORT}`.yellow.bold
)
);
//Handle unhandled promise rejections
process.on("unhandledRejection", (err, promise) => {
console.log(`Error: ${err.message}`.red);
// Close server & exit process
server.close(() => process.exit(1));
});
大师们圣诞快乐,继续编码!!!
【问题讨论】:
-
您是否包含限制器模块,根据文档:
const rateLimit = require('express-rate-limit') -
你好@traynor,是的,正如你所说,我已经在我的项目中包含了这个包,昨天我正在考虑降级版本,看看这是否能解决问题!!
-
是的,他们搬到了打字稿上。我得到了它:
npm install express-rate-limit@5.5.1
标签: javascript node.js