javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name解决

本文提供了解决JDK1.7中出现的javax.net.ssl.SSLProtocolException:handshakealert:unrecognized_name错误的多种方法,包括修改系统属性、配置文件及启动参数等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jdk1.7提示:javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
//方案1:设置系统属性:System.setProperty("jsse.enableSNIExtension", "false");
//方案2:如果是tomcat:
// 1. linux,在catalina.sh加上JAVA_OPTS="$JAVA_OPTS -Djsse.enableSNIExtension=false"
// 2. win,在catalina.bat加上JAVA_OPTS="$JAVA_OPTS -Djsse.enableSNIExtension=false"

 

方案3:

复制代码
修改:

linux/etc/init.d/jenkins

JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -Djsse.enableSNIExtension=false  -jar $JENKINS_WAR"

加入红色字体部分
复制代码

方案4:

复制代码
快钱反馈是由于他们的JDK版本是1.6,我们开发采用的JDK版本是1.7,需要在代码中

设置系统属性:System.setProperty ("jsse.enableSNIExtension", "false");

 

但实际中发现,有时候(小概率)还是无效。LBS切换ECS,或者重启对应Tomcat才能生效。

 

快钱建议,linux系统的话,在tomcat的catalina.sh文件中找到JAVA_OPTS配置,第二行加上:

 

JAVA_OPTS="$JAVA_OPTS -Djsse.enableSNIExtension=false" 
复制代码

重启Tomcat,问题解决。 ps aux | grep tomcat; kill -9 进程号(root权限) tomcat进程,重启。

方案5:(jenkins配置SVN时报错:javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name)
复制代码
在jenkins里面用下面的方法解决:

1.如果通过命令行启动则在启动时添加(绝色部分):

@echo off
set JENKINS_HOME=D:\jenkins
D:\jdk1.7.0_40\bin\java -Djsse.enableSNIExtension=false -jar %JENKINS_HOME%\jenkins.war --httpPort=8000

2.通过windows 服务启动时先打开jenkins目录下的jenkins.xml文件,在如下部分添加:

<arguments>-Djsse.enableSNIExtension=false -Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8000 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle</arguments>
复制代码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值