kibana - 具有自签名后端的 Traefik

标签 kibana traefik

我有 traefik 设置来使用自签名证书代理 kibana 后端。每当我访问后端时,我都会在浏览器中收到“内部错误”,并且在 kibana 日志中看到以下错误消息。

{"type":"log","@timestamp":"2018-02-04T03:56:26Z","tags":["connection","client","error"],"pid":1,"level":"error","message":"139782929405760:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../deps/openssl/openssl/ssl/s3_pkt.c:1493:SSL alert number 42\n139782929405760:error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1216:\n","error":{"message":"139782929405760:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../deps/openssl/openssl/ssl/s3_pkt.c:1493:SSL alert number 42\n139782929405760:error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1216:\n","name":"Error","stack":"Error: 139782929405760:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../deps/openssl/openssl/ssl/s3_pkt.c:1493:SSL alert number 42\n139782929405760:error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1216:\n\n at Error (native)"}}

这是我的 docker-compose 文件:

 ---
 version: '3.0'
 services:
  traefik:
    image: traefik:1.5-alpine
    command: --web --accesslog --docker --docker.watch --docker.domain=localhost --logLevel=ERROR --entryPoints="Name:http Address::80"
    ports:
      - "80:80"
      - "8080"
    labels:
      - "traefik.frontend.rule=Host:monitor.localhost"
      - "traefik.port=8080"
      - "traefik.frontend.entryPoints=http"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /dev/null:/traefik.toml
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-platinum:6.1.3
    container_name: elasticsearch
    ports:
      - "9200"
    labels:
      - "traefik.frontend.rule=Host:es.localhost"
      - "traefik.frontend.entryPoints=http"
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
      - ELASTIC_PASSWORD=changeme
    cap_add:
      - IPC_LOCK
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
  kibana:
    image: docker.elastic.co/kibana/kibana:6.1.3
    container_name: kibana
    ports:
      - "5601"
    labels:
      - "traefik.frontend.rule=Host:kb.localhost"
      - "traefik.frontend.entryPoints=http"
      - "traefik.protocol=https"
    links: 
      - elasticsearch
    environment:
      - SERVER_SSL_ENABLED="true"
      - SERVER_SSL_CERT=/usr/share/kibana/config/kibana.example.org.crt
      - SERVER_SSL_KEY=/usr/share/kibana/config/kibana.example.org.key
    depends_on:
      - elasticsearch

如何让 traefik 使用自签名证书?我在设置中遗漏了什么吗?

最佳答案

我自己也一直在处理此类问题。 Traefik 目前不支持 TLS 参数的每个后端配置,除非用于客户端身份验证传递。当前为后端反向代理路由提供的唯一自定义是使用全局 insecureSkipVerify bool 设置(请参阅 Traefik 的 Commons 文档中的简短简介)。

我尚未验证这一点,但我相信 --insecureSkipVerify=true 将是在 Traefik 的 command 节中传递以启用此功能的正确标志。

请注意,这将影响所有后端连接,并可能让您遭受中间人攻击。问题#3038在 Traefik 的 GitHub 存储库上跟踪了一个设计思想,该思想将使每个后端都可配置。请随意为此功能投票或发布 PR。

关于kibana - 具有自签名后端的 Traefik,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48604588/

相关文章:

ubuntu - 无法在 ubuntu 14 上运行 ./bin/kibana

elasticsearch - 使用timelion绘制同一 Elasticsearch 索引中两个时间字段之间的差异

windows - “appid”, 'units'无法识别为内部或外部命令

docker - 如何使用traefik将http重定向到https?

docker - 具有路径匹配规则的 traefik 反向代理后面的 Jenkins Docker 容器

java - ElasticSearch 按 _source 字段搜索

traefik - 使用 Traefik 来自 Apache 的 "RedirectMatch"相当于什么?

kubernetes - 不允许使用带有rancher 2.2.8的traefik v2.0标签

ssl - Kubernetes Ingress 不适用于 Traefik 和 TLS

elasticsearch - 是否可以从Kibana Visualization控件中删除/禁用值?