JianghuJS项目WAF的配置使用
说明
江湖框架内置了两个应用级的 waf 插件,可以配合外部防火墙使用。
rate-limit: 请求限流ip-block: ip 黑名单
开启插件
在 config/plugin.js 中,增加如下配置:
'use strict';const path = require('path');const eggJianghuDirResolve = require.resolve('@jianghujs/jianghu');const eggJianghuDir = path.join(eggJianghuDirResolve, '../');/** @type Egg.EggPlugin */module.exports = {rateLimit: {enable: true,path: path.join(eggJianghuDir, 'plugins/rate-limit')},ipBlock: {enable: true,path: path.join(eggJianghuDir, 'plugins/ip-block')}};
配置插件
{jianghuConfig: {// WAF: 限流enableRateLimiter: false,rateLimiterDuration: 60000,rateLimiterMax: 100,rateLimiterIgnorePathPrefix: [ '/${appId}/resource', '/${appId}/page', '/${appId}/public', '${appId}/upload' ],rateLimiterWhitelist: [],// WAF: IP 黑名单enableIpBlock: false,ipBlocklist: [],ipBlocklistFilePath: '',}}
- enableRateLimiter 开启后,将会限制指定时间内请求频率超过阈值的 ip 访问。
- enableIpBlock 开启后,将会限制指定的黑名单,黑名单可以配置在 config 里,也可以指定一个外部的配置文件,格式为每行一个 ip。