Jetty GRPC-.IllegalArgumentException:码头ALPN/NPN未正确配置
我试图在pods上docker容器中启用TLS的情况下启动GRPC服务器,但在服务器启动过程中出错 我在试着转介 Java:jdk1.8.0131 OpenSSL版本:OpenSSL 1.0.1e-fips 例外情况:Jetty GRPC-.IllegalArgumentException:码头ALPN/NPN未正确配置,jetty,grpc,Jetty,Grpc,我试图在pods上docker容器中启用TLS的情况下启动GRPC服务器,但在服务器启动过程中出错 我在试着转介 Java:jdk1.8.0131 OpenSSL版本:OpenSSL 1.0.1e-fips 例外情况: *Exception in thread "main" java.lang.IllegalArgumentException: Jetty ALPN/NPN has not been properly configured. at io.grpc.netty.Gr
*Exception in thread "main" java.lang.IllegalArgumentException: Jetty ALPN/NPN has not been properly configured.
at io.grpc.netty.GrpcSslContexts.selectApplicationProtocolConfig(GrpcSslContexts.java:174)
at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:151)
at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:139)
at io.grpc.netty.GrpcSslContexts.forServer(GrpcSslContexts.java:119)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:377)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:63)*
还想知道如何在本地测试openssl方法
这就是我试图运行jar的方式:java-jar-Denv=e1app.jar
以下是特定于GRPC的其他GRPC相关POM依赖项-我的POM中有:
--延伸--
马文
os maven插件
1.4.0.1最终版本
---插件--
org.xolstice.maven.plugins
protobuf maven插件
0.5.0
protobuf:protoc:3.2.0:exe:${os.detected.classifier}
GRPCJava
io.grpc:protoc gen grpc java:1.3.0:exe:${os.detected.classifier}
编译
编译自定义
---依赖关系---
io.grpc
grpc netty
1.3.0
io.grpc
grpc协议
1.3.0
io.grpc
grpc存根
1.3.0
伊奥·内蒂
netty Tcing boringssl静态
2.0.1.最终版本
Openssl/jdk版本会成为问题吗?您需要添加对Netty TCNative的依赖,以获得正确的安全依赖性。从gRPC文件中,您需要添加以下内容:
<project>
<dependencies>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>1.1.33.Fork26</version>
</dependency>
</dependencies>
</project>
伊奥·内蒂
netty Tcing boringssl静态
1.1.33.26
请注意,这将在即将发布的gRPC 1.4版本中更改为指向
netty-tcnative-parent-2.0.1。尽管此问题已得到回答,但最终版。直到今天,我还处于类似的情况,因为我无法启动jetty服务器(嵌入式)
这个解决方案可能会帮助一些正在使用SpringBoot应用程序和嵌入式jetty服务器的人
以下是pom.xml文件中的条目
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>2.0.6.Final</version>
<classifier>${os.detected.classifier}</classifier>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>2.0.6.Final</version>
<classifier>${os.detected.classifier}</classifier>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mortbay.jetty.alpn</groupId>
<artifactId>alpn-boot</artifactId>
<version>8.1.11.v20170118</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.alpn</groupId>
<artifactId>alpn-api</artifactId>
<version>1.1.3.v20160715</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
伊奥·内蒂
完成此操作后,如果使用STS启动spring启动应用程序,请重新构建项目并将以下条目添加到JVM参数中
java-Xbootclasspath/p:%path\u to\u alpn\u boot\u jar%
然后启动服务器,它应该可以工作
谢谢。您是否也在使用os maven插件(如grpc文档中推荐的那样)?使用我在pom.xml中使用的插件和依赖项更新了原始帖子谢谢Carl,它成功了。我试图使用最新版本的netty tcnative boringssl static我试图为此服务器创建节点js客户端,但出现错误:ssl_transport_security.c:628]无效证书链文件ssl_transport_security.c:601]无法加载任何根证书。请给我举一个构建NodeJS客户端的好例子,这个例子可能会涉及到它自己的单独问题。
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>2.0.1.Final</version>
</dependency>
<project>
<dependencies>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>1.1.33.Fork26</version>
</dependency>
</dependencies>
</project>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>2.0.6.Final</version>
<classifier>${os.detected.classifier}</classifier>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>2.0.6.Final</version>
<classifier>${os.detected.classifier}</classifier>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mortbay.jetty.alpn</groupId>
<artifactId>alpn-boot</artifactId>
<version>8.1.11.v20170118</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.alpn</groupId>
<artifactId>alpn-api</artifactId>
<version>1.1.3.v20160715</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>