1Panel v2.2.4 发布:WAF 观察模式、源站保护与地域访问限制上线
1Panel v2.2.4 进一步完善 WAF 防护流程:观察模式先记录、不拦截,地域限制细化到省份,源站保护降低绕过 CDN 直接访问源站的风险,Host、IP 归属地和网站维度统计则帮助管理员更快定位并处理攻击。
1Panel v2.2.4 已发布。本次更新进一步完善了 WAF 防护流程:规则启用前可先观察命中情况,发现异常流量后可按网站与来源快速定位,并对确认的恶意 IP 或 IP 段采取封禁措施。
已安装用户可以在面板右下角点击「检查更新」完成在线升级。完整变更见 v2.2.4 Release。
WAF 更新的设计重点
网站防护需要兼顾拦截效果与业务连续性。规则过严可能影响登录、上传、API 和第三方回调,规则过松则难以及时识别攻击。v2.2.4 增加的观察模式、地域限制、搜索引擎蜘蛛放行、源站保护和日志分析能力,覆盖了规则验证、流量识别和事件处置等关键阶段。
观察模式:验证规则效果后再启用拦截
过去启用一条规则时,管理员往往要在“立即拦截”和“暂时不开”之间选择。前者可能影响业务,后者又看不到规则是否有效。
观察模式提供了中间状态:请求命中规则后会留下记录,但不会被阻断。管理员可以先观察一段时间,确认正常登录、文件上传、Webhook、支付回调等请求没有被误判,再切换到防护模式。

这项功能尤其适合正在运行的生产网站。它不会代替测试环境,但能降低新规则直接上线的风险。建议先观察命中情况,再启用拦截。
地域限制细化到省份
地区访问限制现在可以按省份配置。相比只按国家或大区处理,省份粒度更适合服务范围明确的业务,例如只面向部分省份的活动页面、区域服务入口,或某个地区出现集中异常流量时的临时限制。

需要注意,IP 归属地是基于地址库判断,并不等同于用户真实位置。移动网络、企业代理和 VPN 都可能造成偏差,因此不适合把地域规则当作身份认证。启用前应更新 IP 地址库,并先通过观察模式验证。
为搜索引擎蜘蛛设置独立放行策略
反爬和频率限制容易把搜索引擎抓取一起挡住,结果是安全策略生效了,网页收录却受到影响。v2.2.4 支持配置允许访问的搜索引擎蜘蛛,并提供蜘蛛 IP 池。
它比单纯相信 User-Agent 更稳妥:User-Agent 很容易伪造,而蜘蛛地址数据可以用于缩小放行范围。对依赖百度、Google 等搜索引擎收录的网站,这项调整能减少 WAF 与 SEO 之间的冲突。

源站保护:降低 CDN 场景下的旁路访问风险
网站接入 CDN 或反向代理后,正常请求会先经过边缘节点,再到达源站。如果源站 IP 和端口仍能被外部直接访问,攻击者就可能绕过 CDN 上的限速、缓存或安全策略,直接请求源站。
源站保护针对的就是这条旁路。它与 WAF 规则不是同一层能力:WAF 判断请求内容是否异常,源站保护则尽量限制请求到达源站的路径。使用前应确认 CDN、回源地址和健康检查来源,避免把正常回源流量挡在外面。

完善攻击分析与处置流程
除上述更新外,新版本还增加了多项有助于提升排障效率的能力:
- 拦截日志可以按 Host 筛选,多站点共用一台服务器时,不必在全部记录里反复查找。
- 拦截日志和网站监控日志显示 IP 归属地,可以更快判断异常流量是否集中。
- 攻击报表增加网站维度统计,能看出风险集中在哪个站点,而不只是看到服务器总量。
- 网站监控日志可以直接拉黑 IP 或 IP 段,确认恶意来源后无需再跳到其他页面手动录入。
这些功能将排查与处置步骤衔接起来:发现异常后,可按网站和 Host 定位,核查命中规则及来源,并根据结果封禁 IP 或网段。观察模式产生的记录同样可以用于分析。
目前,观察模式等基础防护可在社区版使用;攻击报表、拦截记录、地区访问限制等高级能力需要有效的专业版或企业版许可证。具体可用项以当前面板和许可证为准。
其他值得关注的功能变化
WAF 是 v2.2.4 的主线,其他新增功能也补齐了几项此前不够顺畅的操作。
模型账号可以从服务端获取模型列表
模型账号新增模型发现接口。配置 Provider、Base URL、API Key 和 API 类型后,1Panel 可以向模型服务查询可用模型,而不是完全依赖内置清单或手工输入模型名。
模型账号同时支持 OpenAI Completions、OpenAI Responses、Anthropic Messages 等 API 类型,以及 Bearer、x-api-key 等认证方式。对自建 vLLM、Ollama 或兼容接口而言,配置错误和模型名输错的概率会更低。参见 PR #13281。
MCP Server 支持自定义命令行参数
此前 MCP Server 配置页支持启动命令、环境变量、端口和挂载,但不能附加任意 CLI 参数。典型场景是 supergateway:--sse、--oauth2Bearer、--header 等参数必须跟在启动命令后,无法只靠环境变量表达。参见 Issue #13034。
增加自定义参数字段后,面板可以直接配置这些启动参数,无需修改镜像或额外包装启动脚本。参见 PR #13265。
OpenResty 模块支持动态编译
过去编译额外模块通常意味着重新构建完整 OpenResty,并重启容器。动态模块把可支持的模块编译为 .so,通过 load_module 加载,减少完整重建和重启带来的影响。
本次更新明确区分了两种路径:动态模块支持热加载,静态模块仍需完整重建和容器重启。系统会根据 OpenResty 版本和模块参数判断是否支持动态编译;动态编译失败时会提示用户手动选择,避免一次普通构建意外触发完整重启。参见 PR #13291。
MySQL 用户管理扩展为完整的授权管理
旧流程主要围绕数据库绑定用户,遇到外部删除用户、一个用户需要访问多个数据库等情况时,面板状态容易与 MySQL 实际状态脱节。相关反馈见 Issue #8904 和 Issue #11732。
新版本增加了用户列表、创建、删除、修改密码和 Host 访问范围,并补齐数据库授权与撤销授权。管理员可以直接管理 用户@Host 与数据库之间的关系,不必为了复用账号或修正授权进入 MySQL 命令行处理。参见 PR #13278。
目录大小缓存使排序结果可以持续保留
旧版在计算目录大小后点击排序,会刷新列表并丢失刚计算出的大小,因此“按大小排序”实际上无法完成。Issue #12576 记录了这个问题。
新版本在前端增加了目录大小缓存,排序时可以复用已计算结果,参见 PR #13220。对于清理磁盘空间,这比每次重新遍历目录更快,也让排序结果真正可用。分片上传则新增主动取消能力,用户不必通过刷新页面或等待失败来停止大文件上传,见 PR #13233。
进程管理加入 Go 运行时诊断
“进程 CPU 或内存异常”只能说明有问题,却不能说明问题发生在哪段调用链。新版本为 1Panel 进程加入运行时诊断,可以查看 RSS、堆内存、存活对象和 Goroutine 数量,并抓取 CPU、Heap、Goroutine、Mutex、Block 等 pprof 文件。参见 PR #13295。
实际区别是,过去排查内存增长或 Goroutine 泄漏需要登录服务器、准备诊断工具;现在可以先在面板查看摘要和调用栈分组,再下载 profile 做进一步分析。抓取 CPU、锁竞争和阻塞数据会持续 5~30 秒,建议在确认异常后按需使用。
节点健康检查和主机系统日志
多机管理新增健康检查频率,可以定时检查后端节点;设为 0 时关闭检查,还可以选择打开节点列表时是否继续查询异常节点的资源信息,见 PR #13268。这让“节点离线”和“节点资源接口暂时失败”更容易区分。

日志审计则增加 Linux 主机系统日志查看。系统将优先读取 journalctl,不支持时回退到 /var/log/syslog、/var/log/messages 或 /var/log/system.log,并支持按时间、服务、优先级和关键词过滤。排查服务启动失败、系统错误或资源异常时,可以先在面板缩小范围,再决定是否进入终端。参见 PR #13285。
升级前后应该怎么用
如果你主要关注 WAF,升级后建议先更新 IP 地址库和蜘蛛 IP 池,再为重点网站启用观察模式。观察正常业务一段时间后,检查命中规则、Host、来源地区和网站维度统计,确认没有误拦截,再切换到防护模式。启用了 CDN 的网站,还要核对真实 IP 获取方式和回源配置。
其他功能可以按需启用:模型账号先尝试获取模型列表;MCP Server 把过去写在包装脚本里的参数迁回面板;MySQL 用户则重新检查 Host 和数据库授权关系。遇到 1Panel 自身的 CPU、内存或并发任务异常时,再使用运行时诊断抓取数据。
项目地址:1Panel GitHub 仓库
如果 1Panel 对你有帮助,欢迎在 GitHub 给项目点一个 Star。需要使用 1Panel 专业版,可以前往凌霞软件了解和购买。