【问题标题】:How to expose elasticsearch setup using eck externally如何在外部使用 eck 公开 elasticsearch 设置
【发布时间】:2021-01-17 08:09:38
【问题描述】:

您好,我想在使用 ECK (https://www.elastic.co/guide/en/cloud-on-k8s/current/index.html) 创建的 kubernetes 中公开我的 elasticsearch 集群,以便可以从外部访问它。

我需要设置 Functionbeat 以将 aws lambda cloudwatch 日志发送到 elastcsearch。 请看Step 2: Connect to the Elastic Stackhttps://www.elastic.co/guide/en/beats/functionbeat/current/functionbeat-installation-configuration.html

尝试

我有一个弹性负载均衡器,上面运行着 haproxy,我用它来在外部公开其他 k8 服务,例如前端。我试图修改它以允许我公开弹性搜索。

haproxy

frontend elasticsearch
  bind *:9200
  acl host_data_elasticsearch hdr(host) -i elasticsearch.acme.com
  use_backend elasticsearchApp if host_data_elasticsearch

backend elasticsearchApp
  server data-es data-es-es-http:9200 check rise 1 ssl verify none

我正在尝试查看是否可以使用以下 curl 命令进行连接:

curl -u "elastic:$ELASTIC_PASSWORD" -k "https://elasticsearch.acme.com:9200"

但是我得到以下错误:

curl: (35) 错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号

如果我导航到我得到的网址,在浏览器中

此网站无法提供安全连接 elasticsearch.acme.com 发送了无效响应。 ERR_SSL_PROTOCOL_ERROR

【问题讨论】:

  • 当您尝试使用 HTTP 而不是 HTTPS 来“卷曲”它时,它是否有效?通常,此错误表明您尝试访问的网站不安全。
  • 您将 ssl 添加到指示 haproxy 执行 ssl 卸载的服务器行中,并且您没有在前端添加 ssl 内容。看来您应该从服务器中删除 ssl+verify,将 ssl 添加到前面或查询普通的 http 请求。

标签: elasticsearch kubernetes elastic-stack haproxy


【解决方案1】:

根据@Joao Morais 评论将答案发布为社区 wiki:

您将 ssl 添加到指示 haproxy 执行 ssl 卸载的服务器行中,并且您没有在前端添加 ssl 内容。看来您应该从服务器中删除 ssl+verify,将 ssl 添加到前面或查询普通的 http 请求。

附加信息:

curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number 表示您正在尝试访问不安全的网站。

要访问它,您应该在您的curl 命令中将https: 替换为http:,这样它就会如下所示:

curl -u "elastic:$ELASTIC_PASSWORD" -k "http://elasticsearch.acme.com:9200"

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 2019-11-29
    相关资源
    最近更新 更多