我有traefik设置用自签名证书代理kibana后端。每当我访问后端时,我在浏览器中收到“内部错误”,并在kibana日志中看到以下错误消息。
{ “类型”: “登录”, “@时间戳”: “2018-02-04T03:56:26Z”, “标签”:[ “连接”, “客户端”, “错误”], “PID” :1, “电平”: “错误”, “消息”:“139782929405760:错误:14094412:SSL 例程:ssl3_read_bytes:sslv3警告不好 证书:../ deps / openssl / openssl / ssl / s3_pkt.c:1493:SSL警报号 42 \ n139782929405760:错误:140940E5:SSL例程:ssl3_read_bytes:ssl 握手 失败:../ deps / openssl / openssl / ssl / s3_pkt.c:1216:\ n“,”错误“:{”message“:”139782929405760:错误:14094412:SSL例程:ssl3_read_bytes:sslv3警告错误 证书:../ deps / openssl / openssl / ssl / s3_pkt.c:1493:SSL警报号 42 \ n139782929405760:错误:140940E5:SSL例程:ssl3_read_bytes:ssl 握手 失败:../ DEPS / OpenSSL的/ OpenSSL的/ SSL / s3_pkt.c:1216:\ N “ ”名称“: ”错误“, ”堆“:” 错误: 139782929405760:错误:14094412:SSL例程:ssl3_read_bytes:sslv3 警告错误证书:../ deps / openssl / openssl / ssl / s3_pkt.c:1493:SSL 警告号码42 \ n139782929405760:错误:140940E5:SSL 例程:ssl3_read_bytes:ssl握手 失败:../ deps / openssl / openssl / ssl / s3_pkt.c:1216:\ n \ n出错 (本机)“}}
这是我的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使用自签名证书?我在设置中遗漏了什么吗?
答案 0 :(得分:0)
我自己一直在处理这类问题。 Traefik目前不支持TLS参数的每个后端配置,除非它用于客户端身份验证传递。目前为后端反向代理路由提供的唯一自定义是使用全局insecureSkipVerify
布尔设置(请参阅Traefik' Commons文档中的简短模糊)。
我还没有对此进行验证,但我相信--insecureSkipVerify=true
将是传递给您的command
节的Traefik以启用此功能的正确标志。
请注意,这会影响所有后端连接,并且可以打开你的中间人攻击。 Traefik的GitHub存储库中的问题#3038跟踪了一个可以根据后端进行配置的设计思路。随意为此功能提供PR或发布PR。