【问题标题】:Traefik 2.2 with docker-compose configuration TLSTraefik 2.2 与 docker-compose 配置 TLS
【发布时间】:2020-08-19 10:09:04
【问题描述】:

我一直试图找到一个关于如何使用 Traefik 在网站上启用 SSL 的简单概述。虽然所有示例都是针对.toml 文件的,但我想使用我的docker-compose 文件对其进行配置。

我在 Traefik 文档中找到的唯一示例是:https://docs.traefik.io/reference/dynamic-configuration/docker/

如何将以下配置转换为 docker-compose 设置?

[[tls.certificates]]
  certFile = "/path/to/domain.cert"
  keyFile = "/path/to/domain.key"

【问题讨论】:

    标签: docker docker-compose traefik


    【解决方案1】:

    实际上,你不能这样做。仅通过文件提供程序支持证书定义。引用自文档:

    在上面的示例中,我们使用文件提供程序来处理这些 定义。这是唯一可用的方法来配置 证书(以及选项和商店)。然而,在 Kubernetes,证书可以而且必须由秘密提供。

    请看这里:https://docs.traefik.io/https/tls/#user-defined

    【讨论】:

    • 谢谢..我正在切换回 Traefik 1.7,到目前为止 2.2 太麻烦了
    【解决方案2】:

    您应该在 yml 文件中添加标签:

    services:
      your-traefix-srv:
        build:
          labels:
            - "traefik.http.middlewares.middleware09.forwardauth.tls.cert=/path/to/domain.cert"
            - "traefik.http.middlewares.middleware09.forwardauth.tls.key=/path/to/domain.key"
    

    另外,如果需要,添加:

            - "traefik.http.middlewares.middleware09.forwardauth.tls.ca=foobar"
            - "traefik.http.middlewares.middleware09.forwardauth.tls.caoptional=true"
            - "traefik.http.middlewares.middleware09.forwardauth.tls.insecureskipverify=true"
    

    最后,文件 /path/to/domain.cert/path/to/domain.key 应该以某种方式添加,在 Dockerfile 和 dockerbuilt 时间,以及将它们安装为绑定卷。

    【讨论】:

    • 只有当您想将证书转发给服务时才可能是这样,但我认为这不是问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2022-09-23
    • 2020-02-12
    相关资源
    最近更新 更多