You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求适配fail2ban的200-500间排除499的正则表达式

匹配200-500且排除499的正则表达式(适用于fail2ban)

最终正则

^(?!499$)(2[0-9]{2}|3[0-9]{2}|4[0-8][0-9]|49[0-8]|500)$

规则拆解

  • ^(?!499$):负向预查,锚定字符串首尾,确保整个内容不是精确的499,避免误匹配包含499的长数字(如1499)。
  • 2[0-9]{2}:匹配200-299区间的所有数字
  • 3[0-9]{2}:匹配300-399区间的所有数字
  • 4[0-8][0-9]:匹配400-489区间的所有数字
  • 49[0-8]:匹配490-498区间的所有数字
  • 500:精确匹配500

fail2ban配置示例

在filter配置文件(如/etc/fail2ban/filter.d/custom-filter.conf)中,结合日志格式调整正则。比如日志中数字以status code: XXX形式出现,可写为:

failregex = ^.*status code: (?!499$)(2[0-9]{2}|3[0-9]{2}|4[0-8][0-9]|49[0-8]|500)$

验证方法

用fail2ban自带工具测试匹配效果:

# 测试应不匹配的499
fail2ban-regex "status code: 499" "^(?!499$)(2[0-9]{2}|3[0-9]{2}|4[0-8][0-9]|49[0-8]|500)$"

# 测试应匹配的498、500、250
fail2ban-regex "status code: 498" "^(?!499$)(2[0-9]{2}|3[0-9]{2}|4[0-8][0-9]|49[0-8]|500)$"

内容的提问来源于stack exchange,提问作者aispobla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:50:38