快錢報錯: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>

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM