Docker 您的连接不是私有的(此证书无法由受信任的验证机构验证)

Docker 您的连接不是私有的(此证书无法由受信任的验证机构验证),docker,traefik,Docker,Traefik,我很难为我的站点设置Traefik的“让我们加密”自动证书。它不断弹出错误消息:“您的连接不是私有的”。当我检查证书时,它看起来像这样 Traefik是否破坏了此功能?我怎样才能使它工作。我做错什么了吗 这是我的traefik.toml文件: defaultEntryPoints = ["http", "https"] [web] address = ":8080" [web.auth.basic] users = ["admin:$apr1$yhytIYv.$p0hPOLpt/NE9a

我很难为我的站点设置Traefik的“让我们加密”自动证书。它不断弹出错误消息:“您的连接不是私有的”。当我检查证书时,它看起来像这样

Traefik是否破坏了此功能?我怎样才能使它工作。我做错什么了吗

这是我的traefik.toml文件:

defaultEntryPoints = ["http", "https"]
[web]
address = ":8080"
  [web.auth.basic]
  users = ["admin:$apr1$yhytIYv.$p0hPOLpt/NE9aAr7c1HsV1"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
[acme]
email = "test@traefik.io"
storage = "acme.json"
onDemand = true
caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
entryPoint = "https"
  [acme.httpChallenge]
  entryPoint = "http"
另外,我以这种方式启动容器:

docker network create proxy
docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $PWD/traefik.toml:/traefik.toml \
  -v $PWD/acme.json:/acme.json \
  -p 80:80 \
  -p 443:443 \
  -l traefik.frontend.rule=Host:monitor.btcsha.com \
  -l traefik.port=8080 \
  --network proxy \
  --name traefik \
  traefik:1.7-alpine --docker

您正在使用Let's Encrypt Staging(
caServer=)https://acme-staging-v02.api.letsencrypt.org/directory“
),因此根证书无效,这是预期的行为

请阅读


要获得真正的证书,您需要使用Let's Encrypt production endpoint(
caServer=)https://acme-v02.api.letsencrypt.org/directory“
)这是Traefik中的默认设置。

好的,我不知怎么让它工作了。我认为问题在于我必须删除旧的acme.json文件。然后当我创建一个新的时,我忘记给它一个“chmod 600 acme.json”

是的,Idez在
“caServer=”上是正确的https://acme-v02.api.letsencrypt.org/directory“

现在它可以工作了。为了将来的参考,这里是我的traefik.toml:

defaultEntryPoints = ["http", "https"]
[web]
address = ":8080"
  [web.auth.basic]
  users = ["admin:$apr1$yhytIYv.$p0hPOLpt/NE9aAr7c1HsV1"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[acme]
email = "irmscher9@gmail.com"
storage = "acme.json"
onDemand = true
caServer = "https://acme-v02.api.letsencrypt.org/directory"
entryPoint = "https"
  [acme.httpChallenge]
   entryPoint = "http"
…我用以下命令启动docker:

docker network create proxy
docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $PWD/traefik.toml:/traefik.toml \
  -v $PWD/acme.json:/acme.json \
  -p 80:80 \
  -p 443:443 \
  -l traefik.frontend.rule=Host:monitor.btcsha.com \
  -l traefik.port=8080 \
  --network proxy \
  --name traefik \
  traefik:1.7-alpine --docker

感谢您的及时回复。您做到了。现在它已更改为“Traefik默认证书”,同样的问题仍然存在:“此Ca根证书不受信任”,但当我进入启动的容器时,acme.json文件为空。是的,您关于“caServer=”“”的说法似乎是正确的,还有一些我在回答这个问题时提到的问题。干杯,新年快乐!:)FYI
[web]
已被弃用,
onDemand
对我来说也是弃用,它在我更新主机名后删除了旧的acme.json文件。