为了账号安全,请及时绑定邮箱和手机立即绑定

javax.net.ssl.SSLException:读取错误:ssl = 0x9524b800:

javax.net.ssl.SSLException:读取错误:ssl = 0x9524b800:

HUH函数 2019-11-13 14:14:01
在过去的几周中,我们的客户开始看到数百个此类“ SSLException错误-对等方重置连接”,我不知道为什么我们在okhttp上使用Retrofit,没有特殊配置public class OkHttpClientProvider implements IOkHttpClientProvider {    OkHttpClient okHttpClient;    public OkHttpClientProvider() {        this.okHttpClient = createClient();    }    public OkHttpClient getOkHttpClient() {        return this.okHttpClient;    }    private OkHttpClient createClient() {        return new OkHttpClient();    }}上面的客户提供者是一个单例。RestAdapter是使用此注入的客户端(我们使用匕首)构建的-RestAdapter.Builder restAdapterBuilder = new RestAdapter.Builder()                                        .setConverter(converter)                                        .setEndpoint(networkRequestDetails.getServerUrl())                                        .setClient(new OkClient(okHttpClientProvider.getOkHttpClient()))                                        .setErrorHandler(new NetworkSynchronousErrorHandler(eventBus))                                        );根据堆栈溢出解决方案,我发现了-服务器上的存活时间为180秒,OkHttp的默认保留时间为300秒服务器在其标头中返回“ Connection:close”,但客户端请求发送“ Connection:keepAlive”服务器支持TLS 1.0 / 1.1 / 1.2并使用Open SSL我们的服务器最近已移至其他地区的另一个托管服务提供商,所以我不知道这些是否是DNS故障我们尝试调整诸如keepAlive,在服务器上重新配置的OpenSSL之类的内容,但是由于某些原因,Android客户端不断出现此错误当您尝试使用该应用发布内容或拉动刷新时,它会立即发生而没有任何延迟(它甚至不会进入网络,或者在此异常发生之前会出现延迟,这暗示连接已经断开)。但是尝试多次以某种方式“修复”它,我们获得了成功。以后再发生我们已使服务器上的DNS条目无效,以查看是否是造成此问题的原因,但这并没有帮助它主要发生在LTE,但我也在Wifi上看到过我不想禁用“保持活动”,因为大多数现代客户都不会这样做。另外,我们使用的是OkHttp 2.4,这在后期冰淇淋三明治设备上是一个问题,因此我希望它可以解决这些潜在的网络问题。iOS客户端也会获得这些例外,但减少了近100倍(iOS客户端使用AFNetworking 2.0)。我正在努力寻找新的东西来尝试,有什么帮助/想法吗?
查看完整描述

3 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

如果使用Nginx并遇到类似问题,则可能会有所帮助:


在此sslTesturl上扫描您的域,并查看您的设备版本是否允许连接。


如果较低版本的设备(例如<Android 4.4.2等)由于支持TLS而无法连接,请尝试将其添加到您的Nginx配置文件中,


ssl_protocols TLSv1 TLSv1.1 TLSv1.2;


查看完整回答
反对 回复 2019-11-13
  • 3 回答
  • 0 关注
  • 4315 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信