WSO2 APIM 3.2分布式集群配置后publisher登录报错问题咨询
解决方案
1. 清理异常残留数据
停止publisher、key-manager节点,执行以下数据库操作:
- 登录
apim_db数据库,执行SQL删除错误的系统应用记录:
DELETE FROM AM_SYSTEM_APPS WHERE APP_TYPE = 'APIM_PUBLISHER';
- 若使用独立的
identity_db,登录后执行SQL删除残留的服务提供商和OAuth应用记录:
DELETE FROM IDN_OAUTH_CONSUMER_APPS WHERE CONSUMER_KEY = 'undefined' OR APP_NAME = 'apim_publisher'; DELETE FROM SP_APP WHERE APP_NAME = 'apim_publisher';
2. 校验部署配置
检查所有节点的deployment.toml配置:
- 确认没有手动硬编码
apim.apim_publisher.consumer_key、apim.apim_publisher.consumer_secret为undefined或空值,默认场景下这两个参数留空由系统自动生成即可 - 确认publisher节点的key manager配置正确,包括key manager的服务地址、管理员凭证、证书信任关系,确保publisher可以正常调用key manager的管理接口
3. 调整启动时序重新部署
按照以下顺序启动节点,上一个节点完全启动就绪后再启动下一个:
- 启动key-manager节点,等待日志输出
WSO2 Carbon started in x seconds后再等待2-3分钟,确保身份管理、OAuth相关接口完全就绪 - 启动traffic-manager节点,等待完全启动
- 启动publisher节点,等待所有碳应用部署完成
4. 验证结果
启动完成后查询apim_db的AM_SYSTEM_APPS表,确认apim_publisher对应的consumer_key和consumer_secret字段已生成正常的随机字符串,再访问publisher登录页面验证功能正常。
注:如果使用MariaDB作为数据源,需确认数据库驱动版本为2.7.x系列,驱动版本不兼容也会导致字段写入异常
内容的提问来源于stack exchange,提问作者amir hossein dehghani
相关产品推荐
相关产品推荐

