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

WSO2 APIM v4.2.0升级后登录页500错误修复咨询

修复WSO2 APIM 4.2.0 SSL握手异常(No name matching localhost found)

问题根源

升级到4.2.0后,Java 17的SSL验证逻辑更严格,默认要求证书的SAN(Subject Alternative Name)字段包含当前访问的主机名(localhost),而旧版本WSO2的自签名证书通常未配置localhost作为SAN条目,导致SSL握手失败。

解决方案

1. 生成包含localhost的新自签名证书(生产/正式环境推荐)

替换WSO2默认自签名证书,确保证书SAN字段包含localhost:

  • 进入<APIM_HOME>/repository/resources/security目录
  • 执行以下命令生成新证书(参数中的密码请保持与现有配置一致,可按需替换自定义域名):
keytool -genkeypair -alias wso2carbon -keyalg RSA -keysize 2048 -validity 3650 -keystore wso2carbon.jks -dname "CN=localhost, OU=WSO2, O=WSO2, L=Colombo, S=Western, C=LK" -ext SAN="DNS:localhost,DNS:your-custom-domain.com" -storepass wso2carbon -keypass wso2carbon
  • 备份原有wso2carbon.jks文件,将新生成的证书替换到对应目录

2. 临时关闭SSL主机名验证(仅测试环境可用)

如果暂时无法替换证书,可在deployment.toml中添加以下配置关闭严格验证:

[transport.passthru_https.sender.parameters]
HostnameVerifier="AllowAll"

[transport.http.sender.parameters]
HostnameVerifier="AllowAll"

[apim.gateway.environment]
hostname_verifier = "AllowAll"

注意:此方案存在安全风险,生产环境禁止使用

3. 检查现有证书的SAN字段

先确认当前证书是否缺失localhost的SAN条目:

keytool -list -v -keystore <APIM_HOME>/repository/resources/security/wso2carbon.jks -alias wso2carbon -storepass wso2carbon

查看输出的Extensions部分,确认是否包含Subject Alternative Name且存在DNS:localhost,若无则需重新生成证书。

4. 统一配置中的主机名

确保deployment.toml内所有服务地址的主机名与证书的CN/SAN匹配,示例:

[server]
hostname = "localhost"

[apim.devportal]
url = "https://localhost:9443/devportal"

[apim.publisher]
url = "https://localhost:9443/publisher"

验证修复

重启WSO2 APIM 4.2.0,访问/devportal、/publisher、/admin登录页,检查是否仍有500错误,同时确认日志中无SSL握手异常信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 09:37:10