在IBM RAD与WebSphere部署应用遇SSL错误,配置LDAP后服务器异常
问题:WebSphere配置LDAP表单认证后SSL握手失败导致服务器无法正常启停
环境配置
- WebSphere Platform 8.5.5.15 [BASE 8.5.5.15 cf151904.01](HCL接管前版本)
- 主机系统:Windows 10 10.0
- Java版本:1.8.0_191,运行时版本8.0.5.27 - pwa6480sr5fp27-20190104_01(SR5 FP27),IBM J9 VM
问题现象
- 配置LDAP表单认证并重启后,服务器持续卡在“正在启动”或“正在停止”状态,仅能通过手动终止进程结束状态
- 无论是否部署EAR包,均触发相同错误
- 更新证书至2025年(证书未过期)后问题仍未解决
- 仅禁用安全配置可正常启动服务器,但业务依赖该安全配置
错误日志
[4/26/24 12:26:25:361 EDT] 00000072 SSLHandshakeE E SSLC0008E: Unable to initialize SSL connection. Unauthorized access was denied or security settings have expired. Exception is javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at com.ibm.jsse2.c.a(c.java:12) at com.ibm.jsse2.as.a(as.java:257) at com.ibm.jsse2.as.unwrap(as.java:528) at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:5) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:586) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:346) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
解决方案
- 核对LDAP端口配置:确认WebSphere中LDAP连接端口与LDAP服务器实际端口类型匹配。若LDAP用非SSL端口(如389),WebSphere却配置为SSL端口(如636),会导致SSL引擎在明文连接上尝试握手,需修正端口配置。
- 验证LDAP SSL兼容性:
- 确认LDAP服务器启用的SSL协议版本(如TLS 1.2)是否被WebSphere 8.5.5.15支持,该版本默认支持TLS 1.0/1.1/1.2,若LDAP仅启用更高版本,需调整WebSphere的SSL协议设置。
- 检查WebSphere信任库是否导入LDAP服务器的根/中间证书,即便本地证书有效,未信任LDAP端证书也会引发握手失败。
- 排查内部SSL端口冲突:检查配置安全后,WebSphere的管理端口、应用端口是否被错误设为SSL端口,导致明文请求接入触发SSL错误。可通过
wsadmin命令列出端口配置:AdminTask.listServerPorts('[-serverName server1 -nodeName node1]') - 重置LDAP安全配置:
- 禁用安全配置启动服务器。
- 删除现有LDAP配置(管理控制台或
wsadmin均可操作)。 - 重新配置LDAP表单认证,仔细核对每一步的端口、SSL设置,完成后分步重启验证。
- 安装WebSphere补丁:8.5.5.15存在部分SSL相关修复补丁,可尝试安装对应CF补丁(如cf151904之后的更新)解决已知握手问题。
内容的提问来源于stack exchange,提问作者Berlin Brown
相关产品推荐
相关产品推荐

