我使用带有屏蔽2.2的弹性2.2.0,10个节点集群。我需要在Elastic for Kibana中使用ssl来使用shield,我在认证签名部分获得了troubled。
我没有通配符证书所以我无法在节点中只签署一个csr并将其复制到所有其他节点,我尝试使用letsencrypt(with the elastic tutorial )并签署一个通用名称为node1的证书和node2-10的备用名称,并将其复制到所有其他节点(当然我首先为所有10个服务器创建域并将其指向node1,签署csr,然后指向所有9个到了正确的服务器),it didn't work我在节点日志中得到了很多“床位证书”例外。
正如我所说,我需要ssl让kibana使用屏蔽,并且通常需要安全连接,我计划在集群中添加更多节点... 我怎么能这样做? 那个目的最好的架构是什么?
答案 0 :(得分:0)
问题是我试图在节点的私有ip种子上使用证书,正如文档所说(它不可能):
如果使用商业CA,则用于标识节点的DNS名称和IP地址必须是可公开解析的。出于安全考虑,不接受内部DNS名称和私有IP地址。
如果您需要使用私有DNS名称和IP地址,使用内部CA是最安全的选择。它使您能够指定节点标识,并确保在节点连接时验证节点标识。如果必须使用商业CA和私有DNS名称或IP地址,则不能在证书中包含节点标识,因此唯一的选择是禁用主机名验证。
因此解决方案是通过在elasticsearch.yml中设置,仅将证书用于外部请求(如kibana UI):
shield.transport.ssl: false
shield.http.ssl: true