跳转到内容
OpenClaw 不踩坑恶意 Skills ,企业需 Skills Registry:Nacos 3.2 发布点此了解

参数校验

Nacos 会在服务端对部分请求参数做统一格式校验。这个能力用于减少错误参数、特殊字符和异常长度带来的资源异常、推送异常或不可预期行为。

参数校验不替代业务语义校验。比如某个接口要求 dataId 必填,仍由对应接口逻辑判断;统一参数校验主要判断“传入的值格式是否合法”。

开关

服务端参数校验默认开启:

nacos.core.param.check.enabled=true

关闭后,统一格式校验不会执行,但各业务模块仍可能保留自己的必要校验。生产环境不建议关闭。

默认校验器为 default。如果通过扩展方式提供了新的校验器,可以使用:

nacos.core.param.check.checker=default

默认规则

下面是当前默认校验器的主要规则。空值通常不会被统一格式校验拦截,但接口本身可能仍要求必填。

参数最大长度规则
namespaceShowName256不允许出现 @#$%^&*
namespaceId / tenant / namespace64只允许字母、数字、下划线和短横线。
dataId256只允许字母、数字、_-.:
serviceName / service512不能以 @ 开头;不能包含中文、空白字符或连续 @@
group / groupName128只允许字母、数字、_-.:
cluster / clusterName64只允许字母、数字、-_。多个集群用逗号分隔时,每个集群都按此规则校验。
ip128不能包含中文或空白字符。
port-必须是 065535 之间的整数。
实例 metadata1024所有 key 和 value 的字符长度总和不能超过上限。
mcpName128只允许字母、数字、-_/.
agentName64只允许可打印 ASCII 字符。
skillName64只允许小写字母、数字和短横线;不能以短横线开头或结尾;不能包含连续 --

实例元数据长度上限可以通过以下配置覆盖:

nacos.naming.service.metadata.length=1024

也可以通过环境变量覆盖:

Terminal window
NACOS_NAMING_SERVICE_METADATA_LENGTH=1024

常见错误

错误信息常见原因
Param 'namespaceShowName' is illegal, the param length should not exceed 256.命名空间名称超过长度上限。
Param 'namespaceId/tenant' is illegal, illegal characters should not appear in the param.命名空间 ID 包含除字母、数字、下划线、短横线之外的字符。
Param 'dataId' is illegal, the param length should not exceed 256.dataId 超过长度上限。
Param 'group' is illegal, the param length should not exceed 128.group 超过长度上限。
Param 'serviceName' is illegal, illegal characters should not appear in the param.服务名包含中文、空白字符、连续 @@,或以 @ 开头。
Param 'cluster' is illegal, illegal characters should not appear in the param.集群名包含除字母、数字、短横线、下划线之外的字符。
Param 'ip' is illegal, illegal characters should not appear in the param.IP 参数包含中文或空白字符。
Param 'port' is illegal, the value should be between 0 and 65535.端口不是整数,或超出范围。
Param 'Metadata' is illegal, the param length should not exceed 1024.实例元数据 key/value 总长度超过上限。
Skill name must be 1-64 charactersSkill 名称超过长度上限。
Skill name may only contain lowercase letters, numbers, and hyphens, and must not start or end with a hyphenSkill 名称格式不符合规则。
Skill name must not contain consecutive hyphens (--)Skill 名称包含连续短横线。

使用建议

  • 配置管理场景中,优先使用简短稳定的 dataIdgroup
  • 服务发现中,不要把环境、版本、地域等复杂信息塞进服务名。更适合放到命名空间、分组、集群或元数据中。
  • 元数据适合表达少量键值信息,不适合存放大段 JSON、证书、脚本或配置正文。
  • 如果升级后出现参数校验错误,先修正调用方参数。只有在紧急迁移窗口期内,才考虑临时关闭统一参数校验。

相关文档