gpt4 book ai didi

node.js - 使用 Nginx 和 elasticsearch 作为 https 的反向代理是否正确?

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:34 27 4
gpt4 key购买 nike


一个简单的问题,我有一个包含 10 个 Node 的集群,目前我在 js 客户端的配置中提供所有 Node ,如果我使用 https,我将失去查询所有 Node 的能力,因为我只想对一个 Node 使用反向代理。这是正确的吗?
我没有找到任何相关文档。我已经尝试过shield或类似的东西,但这似乎有点矫枉过正,我不想在 Node 之间使用ssl,我只想在前面使用https。

{
"name" : "node_01",
"cluster_name" : "*****",
"cluster_uuid" : "*****",
"version" : {
"number" : "5.4.1",
"build_hash" : "2cfe0df",
"build_date" : "2017-05-29T16:05:51.443Z",
"build_snapshot" : false,
"lucene_version" : "6.5.1"
},
"tagline" : "You Know, for Search"
}

最佳答案

使用反向代理来终止 TLS 是一个有效的解决方案。由于 Elasticsearch 仅需要 HTTP,因此非常容易代理。

但是,您可能希望在多个主机上使用多个 nginx 实例;否则就会出现单点故障。你可以这样做:

  • 使用 3 个 Node 与您的客户端进行通信。仅允许 Elasticsearch 从 localhost 在端口 9200 上进行 HTTP 访问,并通过同一主机上运行的 nginx 进行代理。让 nginx 终止 TLS 连接并接受来自客户端的连接。仅允许所有 10 个 Elasticsearch Node 在端口 9300 上访问 Elasticsearch 传输协议(protocol)。
  • 在其余 7 个 Elasticsearch Node 上,不允许任何 HTTP 访问,仅允许其他 Elasticsearch Node 的传输协议(protocol)。

PS:如果您在 AWS(或类似服务)上运行:使用 ELB 为您终止 TLS,并保留您的 10 个 Node 。

关于node.js - 使用 Nginx 和 elasticsearch 作为 https 的反向代理是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45550301/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com