rule-providers 让规则资源与主配置分开管理。主文件保持较小,规则可以单独更新;代价是多了资源来源、文件格式与引用关系三个需要检查的环节。
定义与引用不能少一边
在 rule-providers 中定义名称以后,还需要在 rules 中用 RULE-SET 引用它,并指定策略。只有定义而没有引用,资源即使下载成功也不会自动参与匹配;只有引用而没有定义,也无法得到预期的规则内容。
组名与 provider 名称区分大小写或拼写时尤其要仔细。复制别人的片段后,应逐个确认引用名称在当前配置里存在,不能假设两份配置的“代理”组恰好叫同一个名字。
behavior 要与文件内容对应
域名列表、IP 列表和完整规则表达方式不是同一种内容。provider 的 behavior 与实际载荷不一致,可能出现解析报错或无法正确使用。文件扩展名不能决定内部格式,应打开来源说明或查看内容。
文件来自 HTTP、本地文件或内联配置时,检查路径与来源也各不相同。远程 URL 能在浏览器打开,并不证明运行内核的进程在相同网络路径下也能下载它。
更新与命中分开验收
先看日志确认资源加载和更新时间,再发起一条应被覆盖的请求,查看命中项。若更早的规则已经匹配,这个规则集仍然不会生效,所以还要检查在 rules 中的排列位置。
排错时避免为了“保持最新”不断强制刷新大型资源。保留一份已知正常的版本与来源说明,先定位下载、解析还是命中出了问题。选择可解释且稳定的规则来源,往往比叠加许多同类集合更容易维护。