将Linux服务器中存在的所有应用程序推送到APNS服务器的通知时遇到问题。
它能够在某个时间推送通知,有时会引发错误,“已检查证书”也可以。
我使用java_apns推送通知。
以下是我遇到的错误,谁能帮我解决这个问题。
2016-04-13 10:15:41,245 [pool-1-thread-1] WARN com.timeinc.ae.push.services.APNSService - com_timesmedia_countrylife_magazine Error posting to multiple devices
com.notnoop.exceptions.NetworkIOException: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at com.notnoop.apns.internal.Utilities.wrapAndThrowAsRuntimeException(Utilities.java:284)
at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:342)
at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:312)
at com.notnoop.apns.internal.ApnsPooledConnection$2.call(ApnsPooledConnection.java:43)
at com.notnoop.apns.internal.ApnsPooledConnection$2.call(ApnsPooledConnection.java:41)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:941)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1320)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:698)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:119)
at java.io.OutputStream.write(OutputStream.java:75)
at com.notnoop.apns.internal.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:328)
... 8 more
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(InputRecord.java:482)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:922)
... 13 more
任何帮助将不胜感激。
最佳答案
我的代码可以很好地处理证书,并且突然弯腰处理握手失败。
最终我们发现问题出在证书不在war文件(某些本地文件夹)之外。
1)使用apns_test的第一个测试(节点测试)
如果这将发送测试通知,则说明您的安全性配置存在问题。
最终将带有证书的文件放入war文件。如果要测试外部文件夹,则可能会遇到此问题。
当我在war文件中放入证书时,可以使用此功能。
关于java - Java版本为1.6.0_37的Centos中的APNS网络IOException SSL握手失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36602606/