elasticsearch 无法连接到我的代理elasticsearch节点,elasticsearch,nginx,go,proxy,elasticsearch,Nginx,Go,Proxy" /> elasticsearch 无法连接到我的代理elasticsearch节点,elasticsearch,nginx,go,proxy,elasticsearch,Nginx,Go,Proxy" />

elasticsearch 无法连接到我的代理elasticsearch节点

elasticsearch 无法连接到我的代理elasticsearch节点,elasticsearch,nginx,go,proxy,elasticsearch,Nginx,Go,Proxy,我在从Go客户端连接到es节点时遇到问题 我有一个设置基本身份验证的nginx代理背后的elasticsearch。 除内存外,所有设置都是ES中的默认设置 通过浏览器,它工作得非常出色,但不是通过此客户端: 我读了文档,它说它使用/_节点/httpapi进行连接。这可能是我做错的地方,因为api的响应如下所示: { "_nodes" : { "total" : 1, "successful" : 1, "failed" : 0 }, "cluster_na

我在从Go客户端连接到es节点时遇到问题

我有一个设置基本身份验证的nginx代理背后的elasticsearch。 除内存外,所有设置都是ES中的默认设置

通过浏览器,它工作得非常出色,但不是通过此客户端:

我读了文档,它说它使用/_节点/httpapi进行连接。这可能是我做错的地方,因为api的响应如下所示:

{
  "_nodes" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "cluster_name" : "elasticsearch",
  "nodes" : {
    "u6TqFjAvRBa3_4FndfKh4w" : {
      "name" : "u6TqFjA",
      "transport_address" : "127.0.0.1:9300",
      "host" : "127.0.0.1",
      "ip" : "127.0.0.1",
      "version" : "5.6.2",
      "build_hash" : "57e20f3",
      "roles" : [
        "master",
        "data",
        "ingest"
      ],
      "http" : {
        "bound_address" : [
          "[::1]:9200",
          "127.0.0.1:9200"
        ],
        "publish_address" : "127.0.0.1:9200",
        "max_content_length_in_bytes" : 104857600
      }
    }
  }
}
我猜我必须将IP设置为我的实际IP/域(我的域类似于es01.somedomain.com)

那么,如何正确配置elastisearch,以便我的go客户端能够连接

我的nginx配置文件与此类似:

Edit:我通过在客户端的选项中设置elastic.SetSniff(false)找到了一个临时解决方案,但我认为这意味着我无法水平缩放ES。因此仍在寻找替代方案。

您正在寻找,特别是
http.publish\u主机
http.publish\u端口
,应该设置为代理ES节点的Nginx服务器的公共可访问地址和端口

请注意,如果Elasticsearch在127.0.0.1:9300上侦听传输,您将无法与其他主机上的节点组成群集。可以使用类似的方式配置传输