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

WSO2 APIM集群APIKeyValidator返回900900错误求助

解决WSO2 APIM集群中"Invalid tenant domain null"导致的Scope验证异常问题

根据你描述的场景——APIM集群共享部署目录、调用API时token和订阅验证通过但scope验证失败,且日志显示资源路径有重复版本号,核心问题应该是重复的版本号干扰了APIM对租户域的识别逻辑,进而触发了Invalid tenant domain null错误。以下是具体的解决步骤:

  • 检查并修正API的上下文与版本配置
    登录APIM Publisher控制台,找到你发布的测试API,查看它的「Context」和「Version」设置。如果你的Context配置成了/myapi/3.0.0,同时Version又设为3.0.0,发布后就会出现/apis/myapi/3.0.0/3.0.0/info这种重复版本号的路径。正确的配置应该是Context设为/myapi,Version设为3.0.0,这样资源路径会变成正常的/apis/myapi/3.0.0/info。

  • 清理共享部署目录中的旧API artifacts
    由于两个APIM节点共享<APIM_HOME>/repository/deployment/server目录,之前错误配置的API文件可能残留并影响节点加载。先停止所有APIM节点,然后:

    • 删除<APIM_HOME>/repository/deployment/server/synapse-configs/default/api下对应测试API的XML文件
    • 清理<APIM_HOME>/repository/deployment/server/carbonapps里的相关CAR文件
      重启节点后,重新发布修正配置后的API。
  • 验证Apache反向代理的路径转发规则
    检查Apache的配置文件(比如虚拟主机配置或httpd.conf),确保ProxyPass规则没有额外拼接版本号,让请求的原始路径完整传递到APIM节点。比如正确的转发规则应该是:

    ProxyPass /apis http://your-apim-cluster-address:8280/apis retry=0
    ProxyPassReverse /apis http://your-apim-cluster-address:8280/apis
    

    避免在转发时手动添加版本信息,交给APIM自身处理路径映射。

  • 确认Scope的租户关联正确性
    虽然日志显示匹配到了scope,但租户域为null,可能是scope的租户关联存在问题。登录APIM Admin控制台,进入Main > Identity > Scopes,找到对应的scope,检查它的租户域是否和API所在租户一致。如果是自定义scope,建议重新创建并关联到正确租户后,重新订阅API并生成新的token进行测试。

  • 调试验证修复效果
    修复配置后,重新开启OAuth2调试日志(修改<APIM_HOME>/repository/conf/log4j2.properties,设置logger.org.wso2.carbon.identity.oauth2.level = DEBUG),再次调用API。确认日志中资源路径不再重复,且tenantDomain字段能正确显示租户信息,scope验证流程正常完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:38:52