使用HttpsURLconnection或者HttpURLConnection进行https请求时,有时会报Connection reset异常
原因:
这是因为客户端的TLS版本服务端不支持的原因。
对于JDK1.6,支持SSLv2、SSLv3、TLSv1,默认使用TLSv1
对于JDK1.7,支持SSLv2、SSLv3、TLSv1、TLSv1.1、TLSv1.2,默认使用TLSv1.1
对于JDK1.8,支持SSLv2、SSLv3、TLSv1、TLSv1.1、TLSv1.2,默认使用TLSv1.2
如果服务端配置的支持的SSL协议为TLSv1.2,那么默认情况下只有JDK1.8才能正常的访问.
解决:在nginx里修改网站 站点配置文件对应的TLS版本,修改为TLSv1.2。
ssl_protocols TLSv1.2.
谷歌游览器通过按F12,会跳出安全的,就可以查看当前TLS版本。
因篇幅问题不能全部显示,请点此查看更多更全内容