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>
转自 https://www.cnblogs.com/simpledev/p/5426677.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端