aberic / fabric-net-server

HyperLedger/Fabric Net Server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

报错了

xyxy opened this issue · comments

commented

合约验证结果
请求接口:http://localhost:port/state/invoke

请求方式:POST

请求参数:{"flag":"78098acad813765e","strArray":["query","a"],"key":"KGSSeKHw"}

请求结果:{"code":9999,"error":"Request failed: org.hyperledger.fabric.sdk.exception.TransactionException: org.hyperledger.fabric.sdk.exception.ProposalException: getConfigBlock for channel testorgschannel failed with peer peer0org1. Status FAILURE, details: Sending proposal to peer0org1 failed because of: gRPC failure=Status{code=UNAVAILABLE, description=io exception, cause=javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.verify(ReferenceCountedOpenSslContext.java:628)\n\tat io.netty.internal.tcnative.SSL.readFromSSL(Native Method)\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslEngine.readPlaintextData(ReferenceCountedOpenSslEngine.java:486)\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1025)\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1132)\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslEngine.unwrap(ReferenceCountedOpenSslEngine.java:1175)\n\tat io.netty.handler.ssl.SslHandler$SslEngineType$1.unwrap(SslHandler.java:216)\n\tat io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1275)\n\tat io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1177)\n\tat io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1221)\n\tat io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)\n\tat io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428)\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.lang.Thread.run(Thread.java:748)\nCaused by: java.security.cert.CertificateException: No subject alternative DNS name matching peer0org1 found.\n\tat sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:214)\n\tat sun.security.util.HostnameChecker.match(HostnameChecker.java:96)\n\tat sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455)\n\tat sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436)\n\tat sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:252)\n\tat sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136)\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback.verify(ReferenceCountedOpenSslClientContext.java:221)\n\tat io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.verify(ReferenceCountedOpenSslContext.java:624)\n\t... 27 more\n}"}

FNS中的TLS是关闭的吗,你Fabric中的TLS是启用的吗?

commented

TLS都是启用的,也上传了证书。我重新测试了下都不启用TLS,但也报错:

请求接口:http://localhost:port/state/query

请求方式:POST

请求参数:{"flag":"78098acad813765e","strArray":["query","a"],"key":"WqiqetAL"}

请求结果:{"code":9999,"error":"Request failed: org.hyperledger.fabric.sdk.exception.TransactionException: org.hyperledger.fabric.sdk.exception.ProposalException: getConfigBlock for channel testorgschannel failed with peer peer0org1. Status FAILURE, details: Sending proposal to peer0org1 failed because of: gRPC failure=Status{code=INTERNAL, description=http2 exception, cause=io.netty.handler.codec.http2.Http2Exception: First received frame was not SETTINGS. Hex dump for first 5 bytes: 1503010002\n\tat io.netty.handler.codec.http2.Http2Exception.connectionError(Http2Exception.java:85)\n\tat io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.verifyFirstFrameIsSettings(Http2ConnectionHandler.java:350)\n\tat io.netty.handler.codec.http2.Http2ConnectionHandler$PrefaceDecoder.decode(Http2ConnectionHandler.java:251)\n\tat io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:450)\n\tat io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)\n\tat io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428)\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.lang.Thread.run(Thread.java:748)\n}"}

commented

控制台也报错:

edge | Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching peer0org1 found.
edge | at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:214)
edge | at sun.security.util.HostnameChecker.match(HostnameChecker.java:96)
edge | at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455)
edge | at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436)
edge | at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:252)
edge | at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136)
edge | at io.netty.handler.ssl.ReferenceCountedOpenSslClientContext$ExtendedTrustManagerVerifyCallback.verify(ReferenceCountedOpenSslClientContext.java:221)
edge | at io.netty.handler.ssl.ReferenceCountedOpenSslContext$AbstractCertificateVerifier.verify(ReferenceCountedOpenSslContext.java:624)
edge | ... 27 more
edge | }
edge | at org.hyperledger.fabric.sdk.Channel.getConfigBlock(Channel.java:786)
edge | at org.hyperledger.fabric.sdk.Channel.parseConfigBlock(Channel.java:1187)
edge | ... 64 more

peer的ip是可以访问的吗?有白名单设置吗?

commented

telnet ip和端口可通

首页通道数据都出来了吗?

最下放的区块记录有数据吗?

同样的问题,最下方区块也无记录。甚至配了DNS,可以ping 通peer0org5。

找到原因了,可能节点名称需要与部署的peer全名一致。比如peer0.org5.example.com