SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error

        在开发项目中,遇到在本地环境请求域名正常,但在生产环境中因使用了nginx反向代理,在请求时DNS域名进行解析,真正请求出去的为IP与端口,但对方系统是ip下面配置了多个服务,通过nginx的server_name进行区分,故直接请求不通,所以请求方式有两种:1、域名请求;2、IP端口请求,但请求时需添加host;

        针对生产情况,

1、在restTemplate请求时增加host

        HttpHeaders headers = new HttpHeaders();

//        System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
        //System.setProperty("jsse.enableSNIExtension", "true");
        headers.add(HttpHeaders.HOST,"xxxxx.com");
        HttpEntity<Map> httpEntity = new HttpEntity(bizMap, headers);
//        Map<String, String> respMap = restTemplate.postForObject(url, bizMap, Map.class);
        ResponseEntity<String> responseEntity = restTemplate.postForEntity(paramConfig.getDfcApiHost() + path, httpEntity, String.class);
        Map<String, String> respMap = JSON.parseObject(responseEntity.getBody(), new TypeReference<Map<String, String>>() {
        });

2、在nginx配置项中增加

        proxy_ssl_server_name on;

### 回答1: 这个错误的含义是 "ssl23_get_server_hello: tlsv1 alert protocol version",意思是 SSL 协议中检测到了不支持的协议版本。可能是因为服务器端使用的 SSL/TLS 协议版本过低或过高,导致连接不成功。 ### 回答2: 在网络通信中,SSL协议是一种用于保障通信安全的协议。当客户端与服务器之间进行SSL握手时,若两端协议版本不一致,可能会导致握手失败,从而出现error:1407742e:ssl routines:ssl23_get_server_hello:tlsv1 alert protocol version的错误。 通常,该错误是由于客户端或服务器使用的SSL协议版本不一致导致的。例如,当客户端尝试使用TLSv1.2版本与服务器进行通信,但服务器只支持TLSv1.1时,就会出现该错误。在这种情况下,客户端会发送一个tlsv1 alert protocol version警告给服务器,提示协议版本不匹配,导致握手失败。 为了解决这个问题,需要检查客户端和服务器使用的SSL协议版本是否一致。如果不一致,可以尝试升级其中一个协议版本,或者让双方都支持两种协议版本,从而保证通信的顺利进行。 此外,当出现该错误时,还可以检查是否有防火墙或代理服务器等中间设备对SSL通信进行了拦截或篡改,从而导致协议版本不一致。如果存在这样的问题,应该对中间设备进行相应的配置调整,以确保正常的SSL通信。 ### 回答3: 该错误代码错误:1407742e:ssl routines:ssl23_get_server_hello:tlsv1警报协议版本,通常是因为服务器或客户端使用不受支持的 TLS(安全传输层)协议版本。TLS是一种用于保护互联网通信安全的协议,在网上银行、电子邮件和其他敏感信息的传输中得到了广泛应用。 当服务器和客户端之间的通信请求使用暂不支持的协议时,访问中断并返回此错误。因此,用户需要保证服务器和客户端使用的 TLS 协议版本是彼此兼容的。大多数现代浏览器均兼容 TLS1.2 或更高版本,许多老版本浏览器使用的协议版本可能已经过时,需要更新或升级浏览器。 此外,确保服务器和客户端的时间同步和准确也很重要。如果服务器的时间与客户端时间差距太大,则可能会导致 TLS 通信失败。如果 HTTP 服务器的时间与证书的有效期不一致,也会引起此错误。因此,建议用户确保服务器证书正确,并在必要时更新或更换证书。 总的来说,当出现此错误时,用户应该检查确认服务器和客户端所使用的 TLS 协议版本是否兼容,并确保服务器证书的有效期和时间与本地相同。如果问题仍然存在,则需要咨询网络服务的供应商或 IT 专业人员以获得更多支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值