默认情况下,Elasticsearch在其传输层上不支持SSL,因此您必须添加自己。这需要在服务器端和客户端都使用新代码。
幸运的是,Elasticsearch的源代码非常模块化,因此只需在配置文件中添加一行即可很容易地换出传输实现。
不幸的是,Elasticsearch使用了许多私有字段和方法,这使得很难在不重新实现全部功能或复制/粘贴大量代码的情况下,向其现有实现中添加新功能。此外,Elasticsearch会遮蔽其Netty
-includes并跳过它们不使用的类,这意味着您必须自己从兼容的Netty版本中包含所需的SSL + helper类。
找到一个托管的Elasticsearch提供者,该提供者使用Java传输客户端提供了完全的SSL支持,并使用此开源插件完成了此任务,如果您决定自己实施,则可以将其用作启发。
另一种不同的方法是使用stunnel来处理计算机之间特定于SSL的部分,而不用对Elasticsearch本身做任何事情。



