gpt4 book ai didi

docker - Traefik 和自签名 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:57 26 4
gpt4 key购买 nike

Traefik 和 Docker 新手。我已经使用以下方法准备了自签名证书:

openssl req -x509 -newkey rsa:4096 -keyout www.example.co.uk.key -out www.example.co.uk.crt-days 365

在我的 traefik.toml 文件中我有:

[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[[entryPoints.https.tls.certificates]]
certFile = "certs/www.example.co.uk.crt"
keyFile = "certs/www.example.co.uk.key"

但是这会导致:

traefik          | time="2019-06-17T22:11:17Z" level=debug msg="Serving default cert for request: \"www.example.co.uk\""
traefik | time="2019-06-17T22:11:17Z" level=debug msg="http: TLS handshake error from 172.20.0.1:57770: tls: no certificates configured"

如果我省略证书定义,那么 traefik.toml 的内容如下:

[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
# [[entryPoints.https.tls.certificates]]
# certFile = "certs/www.example.co.uk.crt"
# keyFile = "certs/www.example.co.uk.key"

我得到了 Traefik 提供的虚拟证书,它工作得很好,但我只是想弄明白为什么我定义的证书没有被使用。

在我的 docker-compose.yml 中,我相信我已经安装了正确的卷:

volumes:
- /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
- ./traefik.toml:/traefik.toml
- /var/www/docker/certs:/certs

证书位于 certs/ 相对于我的 docker-compose.yml 和 traefik.toml 文件。权限似乎也很好,都由 root 拥有 - crt 有 644,key 有 600。

我如何使用自签名证书而不是 Traefiks 默认值?

最佳答案

可能是路径不匹配,尤其是某些路径是相对路径而另一些是绝对路径。在您的撰写文件中尝试以下操作(本地证书的相对路径):

volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/traefik.toml
- ./certs:/certs

然后切换到 toml 中的绝对路径(证书上的前导斜杠):

[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[[entryPoints.https.tls.certificates]]
certFile = "/certs/www.example.co.uk.crt"
keyFile = "/certs/www.example.co.uk.key"

关于docker - Traefik 和自签名 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56639602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com