finagle 升级时的 SSL 配置异常
SSlconfiguration exception on finagle upgrade
我最近从 21.4.0
升级到 finagle-core
22.4.0
并在应用程序中加载集成测试时看到了这一点。我使用 wiremock-standalone 版本 2.27.2
。 Netty 版本是4.1.73.Final
。我该如何解决这个问题?我假设它与某些版本有关。但是从哪里开始调试呢?
09:41:03.529 WARN finagle/netty4-2-1 io.netty.channel.ChannelInitializer [] [] [] [] [] [] [] [] [] [] [] Failed to initialize a channel. Closing: [id: 0x6e98560c]
com.twitter.finagle.ssl.SslConfigurationException: java.lang.IllegalArgumentException: ApplicationProtocols.Supported is not supported at this time for SslContextClientEngineFactory. Remote Info: Not Available
at com.twitter.finagle.ssl.SslConfigurationException$.notSupported(SslConfigurationException.scala:18)
at com.twitter.finagle.ssl.SslConfigurations$.checkApplicationProtocolsNotSupported(SslConfigurations.scala:246)
at com.twitter.finagle.ssl.client.SslContextClientEngineFactory.apply(SslContextClientEngineFactory.scala:37)
此处报告了类似的问题:https://github.com/twitter/finagle/issues/913
在设置安全套接字 (SSL/TLS) 连接期间,您收到来自 finagle 的“不支持应用程序协议”异常。
github 问题链接到以下显示支持的应用程序协议的代码段:
https://github.com/twitter/finagle/blob/develop/finagle-core/src/main/scala/com/twitter/finagle/ssl/ApplicationProtocols.scala#L19-L31
private val alpnProtocolIds: Set[String] = Set(
"http/1.1",
"spdy/1",
"spdy/2",
"spdy/3",
"stun.turn",
"stun.nat-discovery",
"h2",
"h2c",
"webrtc",
"c-webrtc",
"ftp"
)
这可能意味着,例如,您的测试现在正在尝试与不受支持的 HTTP2 通信。您可能必须将其配置回 HTTP1.1
如果这没有帮助,您可以尝试使用以下 vm 选项调试完整的 SSL 通信:
-Djavax.net.debug=all
查看更多信息:
- https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/ReadDebug.html
- limiting java ssl debug logging
我最近从 21.4.0
升级到 finagle-core
22.4.0
并在应用程序中加载集成测试时看到了这一点。我使用 wiremock-standalone 版本 2.27.2
。 Netty 版本是4.1.73.Final
。我该如何解决这个问题?我假设它与某些版本有关。但是从哪里开始调试呢?
09:41:03.529 WARN finagle/netty4-2-1 io.netty.channel.ChannelInitializer [] [] [] [] [] [] [] [] [] [] [] Failed to initialize a channel. Closing: [id: 0x6e98560c]
com.twitter.finagle.ssl.SslConfigurationException: java.lang.IllegalArgumentException: ApplicationProtocols.Supported is not supported at this time for SslContextClientEngineFactory. Remote Info: Not Available
at com.twitter.finagle.ssl.SslConfigurationException$.notSupported(SslConfigurationException.scala:18)
at com.twitter.finagle.ssl.SslConfigurations$.checkApplicationProtocolsNotSupported(SslConfigurations.scala:246)
at com.twitter.finagle.ssl.client.SslContextClientEngineFactory.apply(SslContextClientEngineFactory.scala:37)
此处报告了类似的问题:https://github.com/twitter/finagle/issues/913
在设置安全套接字 (SSL/TLS) 连接期间,您收到来自 finagle 的“不支持应用程序协议”异常。
github 问题链接到以下显示支持的应用程序协议的代码段: https://github.com/twitter/finagle/blob/develop/finagle-core/src/main/scala/com/twitter/finagle/ssl/ApplicationProtocols.scala#L19-L31
private val alpnProtocolIds: Set[String] = Set(
"http/1.1",
"spdy/1",
"spdy/2",
"spdy/3",
"stun.turn",
"stun.nat-discovery",
"h2",
"h2c",
"webrtc",
"c-webrtc",
"ftp"
)
这可能意味着,例如,您的测试现在正在尝试与不受支持的 HTTP2 通信。您可能必须将其配置回 HTTP1.1
如果这没有帮助,您可以尝试使用以下 vm 选项调试完整的 SSL 通信:
-Djavax.net.debug=all
查看更多信息:
- https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/ReadDebug.html
- limiting java ssl debug logging