在netty中获取客户端发送的SNI

Get SNI sent by the client in netty

如何在 Netty 中获取客户端发送的 SNI,我能够基于 SNI 成功切换 SslContext 但是出于日志记录目的,我需要提取客户端发送的 SNI。有办法吗?在 OpenSSL 中,只需 1 行即可从 SSL *.有人可以帮忙吗?

您可以通过保存对 SniHandler 的引用来获取主机名,然后在选择完成后对其调用 hostname()。我必须承认这是一个很大的 "ugly" 所以我刚刚写了一个 PR [1] 通过允许你拦截 SniCompletionEvent 来改进它。那就是说它还没有合并,所以现在你需要使用 SniHandler.hostname() 方法。

[1] https://github.com/netty/netty/pull/7444