"javax.net.ssl.SSLException: java.net.SocketException: Connection reset" every 4 minutes
I'm running the Omada Controller Software 3.2.6.
When Cloud access is enabled, I get the following error every 4 minutes in my server.log:
2020-03-21 01:38:34 [Thread-14029] [INFO]-[SourceFile:913] - javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
at sun.security.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1551) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1563) ~[?:1.8.0_162]
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:71) ~[?:1.8.0_162]
at java.io.OutputStream.write(OutputStream.java:75) ~[?:1.8.0_162]
at com.tplink.eap.cloudsdk.client.p.a(SourceFile:111) ~[cloudsdk-1.0.5.jar:?]
at com.tplink.eap.cloudsdk.client.q.a(SourceFile:484) ~[cloudsdk-1.0.5.jar:?]
at com.tplink.eap.cloudsdk.client.q.a(SourceFile:418) ~[cloudsdk-1.0.5.jar:?]
at com.tplink.eap.cloudsdk.client.t.run(SourceFile:889) [cloudsdk-1.0.5.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
Caused by: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1964) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1885) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1830) ~[?:1.8.0_162]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:116) ~[?:1.8.0_162]
at com.tplink.eap.cloudsdk.client.p.a(SourceFile:120) ~[cloudsdk-1.0.5.jar:?]
at com.tplink.eap.cloudsdk.client.s.run(SourceFile:830) ~[cloudsdk-1.0.5.jar:?]
... 1 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[?:1.8.0_162]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_162]
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[?:1.8.0_162]
at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983) ~[?:1.8.0_162]
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940) ~[?:1.8.0_162]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) ~[?:1.8.0_162]
at com.tplink.eap.cloudsdk.client.p.a(SourceFile:120) ~[cloudsdk-1.0.5.jar:?]
at com.tplink.eap.cloudsdk.client.s.run(SourceFile:830) ~[cloudsdk-1.0.5.jar:?]
... 1 more
2020-03-21 01:38:34 [Thread-14029] [INFO]-[SourceFile:921] - Thread 'heartBeatThread' is stopped
2020-03-21 01:38:34 [Thread-18] [INFO]-[SourceFile:146] - Close connection to service server.
2020-03-21 01:38:34 [Thread-14028] [INFO]-[SourceFile:792] - expiredRequestCleanThread is interrupted.
2020-03-21 01:38:34 [Thread-14028] [INFO]-[SourceFile:796] - Thread 'expiredRequestCleanThread' is stopped
2020-03-21 01:38:34 [Thread-18] [INFO]-[SourceFile:127] - Connect service server automatically, ConnectionType is PERSISTENT_CONNECTION.
2020-03-21 01:38:34 [Thread-18] [INFO]-[SourceFile:366] - The result of connection is true.
What's going on here and how can I fix this error?