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

修改WSO2 APIM 4.1.0主机名后无法创建API及SSL异常求助

WSO2 API Manager 4.1.0 主机名修改后SSL证书不匹配及API创建失败问题解决

问题背景

Windows 11环境下,WSO2 API Manager 4.1.0 GA版本修改主机名为dev.wso2.com,已执行以下操作:

  • 更新<API-M_HOME>/repository/conf/deployment.toml的hostname字段为dev.wso2.com
  • 生成新密钥库,导出公钥证书并导入到client-truststore.jks
  • 在hosts文件添加映射:127.0.0.1 localhost dev.wso2.com
  • Carbon控制台配置完成后,可通过dev.wso2.com访问publisher、devportal、admin及carbon门户

但重启服务器后出现以下问题:

  1. wso2carbon.log抛出SSL异常:
ERROR - DBRetriever Error while executing the http client javax.net.ssl.SSLPeerUnverifiedException: Certificate for <localhost> doesn't match any of the subject alternative names: []

多个组件无法从远程端点获取配置,提示localhost证书不匹配。
2. Publisher中无法创建API,日志显示KeyManagerConfigurationDataRetriever反复尝试获取密钥管理器配置失败。

错误原因分析

  • 核心问题:部分内部组件仍在请求localhost端点,但新生成的证书未将localhost纳入主题备用名称(SAN),导致SSL证书校验失败。
  • 密钥库配置不完整:keystore.primary和keystore.internal用于内部组件通信,当前配置为注释状态,组件默认使用旧证书(仅包含localhost),引发不匹配错误。

解决方案

1. 重新生成包含双主机名的证书

新证书需同时包含localhost和dev.wso2.com作为SAN,确保所有端点请求都能通过SSL校验:

  • 生成新密钥库:
keytool -genkey -alias dev.wso2.com -keyalg RSA -keysize 2048 -validity 3650 -keystore devwso2.jks -ext SAN=dns:localhost,dns:dev.wso2.com
  • 导出公钥证书:
keytool -export -alias dev.wso2.com -file devwso2.crt -keystore devwso2.jks
  • 导入到客户端信任库(若已存在旧证书,先执行删除命令):
# 删除旧证书(可选)
keytool -delete -alias dev.wso2.com -keystore <API-M_HOME>/repository/resources/security/client-truststore.jks

# 导入新证书
keytool -import -alias dev.wso2.com -file devwso2.crt -keystore <API-M_HOME>/repository/resources/security/client-truststore.jks

2. 完善deployment.toml配置

取消注释并更新keystore.primary和keystore.internal配置,确保内部组件使用新证书:

[keystore.primary]
file_name =  "devwso2.jks"
type =  "JKS"
password =  "wso2carbon"
alias =  "dev.wso2.com"
key_password =  "wso2carbon"

[keystore.internal]
file_name =  "devwso2.jks"
type =  "JKS"
password =  "wso2carbon"
alias =  "dev.wso2.com"
key_password =  "wso2carbon"

同时检查所有未注释的配置项,确保无遗漏的localhost引用(如apim.idp、apim.oauth_config等,若启用需同步修改)。

3. 清理缓存并重启服务

  • 删除<API-M_HOME>/repository/tmp和<API-M_HOME>/repository/carbonapps目录下的所有内容
  • 重启WSO2 API Manager服务

4. 功能验证

重启后登录publisher尝试创建API,查看wso2carbon.log是否仍有KeyManagerConfigurationDataRetriever错误,若日志无异常且API创建成功,则问题解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:25:31