【发布时间】:2018-10-30 21:17:40
【问题描述】:
问题 1
https://docs.traefik.io/configuration/entrypoints/#default-certificate 似乎表示如果我不指定任何certFile 或keyFile,Traefik 将生成一个自签名证书,并改为使用。
每个入口点只能设置一个 defaultCertificate。使用一组方括号 [ ],而不是普通证书所需的两个。 如果没有提供默认证书,Traefik 会生成一个自签名证书,然后使用。
但是,当我尝试此操作并输入 https://localhost/whoami 时,Chrome 会收到 SSL 错误 (ERR_SSL_PROTOCOL_ERROR)。日志还显示level=error msg="failed to load X509 key pair: tls: failed to find any PEM data in certificate input"。我是否误解了该文档中的配置?
这是我必须测试的代码。
test.yml
version: '3.6'
services:
traefik:
image: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik/traefik.toml:/etc/traefik/traefik.toml
deploy:
placement:
constraints:
- node.role == manager
labels:
- "traefik.port=8080"
- "traefik.frontend.rule=PathPrefixStrip:/traefik"
networks:
- traefiknet
whoami:
image: emilevauge/whoami
deploy:
labels:
- "traefik.port=80"
- "traefik.frontend.rule=PathPrefixStrip:/whoami"
networks:
- traefiknet
networks:
traefiknet:
traefik.toml
logLevel = "DEBUG"
defaultEntryPoints = ["http", "https"]
[api]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[entryPoints.https.tls.defaultCertificate]
[docker]
endpoint = "unix:///var/run/docker.sock"
watch = true
swarmMode = true
network = "test_traefiknet"
开头:
docker stack deploy -c test.yml test
问题 2
请注意,我还测试了该页面上的内容:https://docs.traefik.io/configuration/entrypoints/#static-certificates
如果提供了空的 TLS 配置,则会生成默认的自签名证书。
但是,这也不起作用。但是我的问题是,这个配置和toml文件中问题1所示的配置有什么区别?
【问题讨论】: