JAVA_javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name

tomcat访问https请求返回:

 

[java]  view plain  copy
 
  1. javax.net.ssl.SSLProtocolException: handshake alert:  unrecognized_name  
  2.         at sun.security.ssl.ClientHandshaker.handshakeAlert(ClientHandshaker.java:1292)  
  3.         at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1952)  
  4.         at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)  
  5.         at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)  
  6.         at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)  
  7.         at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)  
  8.         at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:275)  
  9.         at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:254)  
  10.         at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:117)  
  11.         at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:314)  
  12.         at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)  
  13.         at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)  
  14.         at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)  
  15.         at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)  
  16.         at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)  
  17.         at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:186)  
  18.         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)  
  19.         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:214)  
  20.         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:160)  
  21.         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:136)  


服务器java版本:

 

 

[html]  view plain  copy
 
  1. java version "1.7.0_51"  

 

 

解决办法:

在TOMCAT_HOME/bin/catalina.sh中加入-Djsse.enableSNIExtension=false设置

[java]  view plain  copy
 
  1. JAVA_OPTS="$JAVA_OPTS -Djsse.enableSNIExtension=false  

 

重启Tomcat,问题解决

 

问题原因参考:

http://stackoverflow.com/questions/7615645/ssl-handshake-alert-unrecognized-name-error-since-upgrade-to-java-1-7-0/11043871#11043871

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值