BackendMiddlewarePatterns BackendMiddlewarePatterns

后端中间件模式是一种用于处理跨领域关注点的综合模式,包括认证、日志记录、验证、错误处理和安全性。关键词:中间件、认证、日志记录、验证、错误处理、安全性。

后端开发 0 次安装 0 次浏览 更新于 3/5/2026

Backend Middleware Patterns 后端中间件模式 综合中间件模式,用于处理跨领域关注点,包括认证、日志记录、验证、错误处理和安全性。

中间件函数是可以访问请求对象(req)、响应对象(res)以及应用程序请求-响应循环中的下一个中间件函数的函数。中间件有助于管理跨领域关注点,如认证、日志记录、错误处理和验证。

中间件包括:

  • 请求处理:在路由处理程序之前处理传入请求
  • 响应处理:在发送给客户端之前修改响应
  • 错误处理:跨所有路由的集中错误处理
  • 跨领域关注点:认证、日志记录、验证、压缩
  • 模块化设计:可组合的中间件链,用于灵活配置

为什么这很重要

  • 提高可维护性:集中逻辑减少代码重复
  • 增强安全性:跨所有端点的一致安全策略
  • 提高可观察性:集中日志记录和监控
  • 减少开发时间:可重用的中间件减少样板代码
  • 提高一致性:一致的错误处理和验证

核心概念

  1. 中间件顺序至关重要 正确的顺序:

  2. 安全头部(第一)

  3. CORS

  4. 日志记录

  5. 正文解析

  6. 请求ID

  7. 速率限制(认证前)

  8. 认证

  9. 路由

  10. 404处理器

  11. 错误处理器(最后)

  12. 请求日志记录中间件

  13. 认证中间件

  14. 授权中间件

  15. 错误处理中间件

  16. 速率限制中间件

  17. CORS中间件

  18. 安全头部中间件

  19. 请求验证中间件

快速开始

  1. 安装中间件包: npm install helmet cors morgan express-rate-limit
  2. 创建基本中间件: export function loggingMiddleware(req, res, next) { console.log(${req.method} ${req.url}) next() }
  3. 注册中间件: app.use(loggingMiddleware)
  4. 正确排序: app.use(helmet()) app.use(cors()) app.use(authMiddleware) app.use(errorHandler)

生产检查表

  • [ ] 按正确顺序配置中间件
  • [ ] 使用安全头部(Helmet)
  • [ ] 实施适当的CORS配置
  • [ ] 添加请求ID以进行跟踪
  • [ ] 实施认证中间件
  • [ ] 实施授权中间件
  • [ ] 添加速率限制
  • [ ] 实施输入验证
  • [ ] 添加错误处理中间件(最后)
  • [ ] 记录所有请求和响应
  • [ ] 监控中间件性能
  • [ ] 单独测试中间件
  • [ ] 使用TypeScript进行类型安全
  • [ ] 文档化中间件选项
  • [ ] 实施优雅关闭

反模式

  1. 错误顺序:中间件顺序至关重要(安全第一,错误处理器最后)
  2. 跳过next():总是调用next()或发送响应
  3. 阻塞异步:不要阻塞异步操作
  4. 无错误处理:在中间件中正确处理错误
  5. 暴露错误:不要向客户端暴露内部错误
  6. 忽略性能:监控中间件性能影响
  7. 无测试:为所有中间件编写单元测试

集成点

  • Express REST:03-backend-api/express-rest
  • Node.js API:03-backend-api/nodejs-api
  • 错误处理:03-backend-api/error-handling
  • 验证:03-backend-api/validation
  • 认证:10-authentication-authorization
  • 监控:14-monitoring-observability

进一步阅读

  • Express Middleware Guide
  • Helmet Documentation
  • CORS Documentation