快钱报错:javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name解决详解编程语言

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>

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/15249.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论