APNs推送 在国外网络环境收不到消息

send notification device token={3f49499635ded3fd6e3663e3274f8d0d4432475440729938ab484f58c4179ca7} is failed {Channel closed before HTTP/2 preface completed.}
21:53:50.386 [nioEventLoopGroup-2-3] WARN com.turo.pushy.apns.ApnsChannelFactory - Tried to mark promise as "failed," but it was already done.
java.nio.channels.ClosedChannelException: null
at io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:1063)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248)
at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:831)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:745)

引用 皆我百晓生 小程序回复内容作答:

这个错误提示是由于APNs服务器关闭了与客户端的连接,导致发送推送消息失败。可能的原因有:

  1. 网络连接不稳定:在国外网络环境下,网络连接可能不稳定,导致与APNs服务器之间的连接中断。
  2. SSL证书问题:APNs使用SSL/TLS进行通信,如果APNs服务器的证书无效或不受信任,可能导致连接被关闭。
  3. 服务器配置错误:可能是由于服务器配置错误导致连接被关闭。

解决这个问题的方法有:

  1. 检查网络连接:确保你的服务器在国外网络环境下能够正常连接APNs服务器。
  2. 检查证书配置:确保你的服务器使用有效的证书,并且证书受到APNs服务器信任。
  3. 检查APNs推送通道配置:确保你的APNs推送通道的配置正确,包括APNs服务器的地址、端口等。

如果仍然无法解决问题,建议参考APNs官方文档或联系APNs技术支持进行进一步的排查和解决。