我的公司使用Play框架和Scala作为我们的后端服务器。最近我们一直遇到服务器问题。在向远程API发出安全(SSL)请求时,我们将获得以下异常。
似乎是关于SSL的问题,但我不确定。
我们一个月前遇到了类似的问题,并设置了标志:
-J-XX:-UseAESIntrinsics -DXX:-UseAESIntrinsics
似乎有所帮助。现在问题又来了。
更多信息:
- 播放2.5.9
- Scala 2.11.8
- 服务器操作系统:Centos 6.8
- JVM 1.8.0_25
例外:
- AsyncHttpClient-2-4 - 2016-12-21 03:59:17,434 - [debug] - 来自org.asynchttpclient.netty.handler.HttpHandler - 通道上出现意外的I / O异常[id:0x9ad15e31,L:/ [IP_ADDRESS:PORT - R:SERVER / IP_ADDRESS:443]
java.lang.NullPointerException:null
在java.lang.System.arraycopy(本机方法)
在com.sun.crypto.provider.GCTR.reset(GCTR.java:125)
在com.sun.crypto.provider.GCTR.doFinal(GCTR.java:116)
在com.sun.crypto.provider.GaloisCounterMode.doLastBlock(GaloisCounterMode.java:343)
在com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:511)
在com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1023)
在com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:960)
在com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:479)
在javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:830)
在javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:730)
在javax.crypto.Cipher.doFinal(Cipher.java:2416)
at sun.security.ssl.CipherBox.decrypt(CipherBox.java:535)
at sun.security.ssl.EngineInputRecord.decrypt(EngineInputRecord.java:200)
at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:968)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:901)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:775)
在javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
在io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1094)
在io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:966)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:900)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
at io.netty.channel.DefaultChannelPipeline $ HeadContext.channelRead(DefaultChannelPipeline.java:1294)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
在io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
at io.netty.channel.nio.AbstractNioByteChannel $ NioByteUnsafe.read(AbstractNioByteChannel.java:131)
在io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552)
在io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466)
在io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438)
at io.netty.util.concurrent.SingleThreadEventExecutor $ 2.run(SingleThreadEventExecutor.java:140)
at io.netty.util.concurrent.DefaultThreadFactory $ DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
在java.lang.Thread.run(Thread.java:745)
有谁知道问题可能是什么以及我们如何解决?
提前致谢,
施洛米。