Ваше соединение не является частным (этот сертификат не может быть проверен до доверенного центра проверки) - PullRequest
0 голосов
/ 31 декабря 2018

Мне тяжело настроить автоматические сертификаты Traefik "Let's encrypt" для моего сайта.Появляется сообщение об ошибке: «Ваше соединение не является частным».Когда я проверяю сертификат, он выглядит следующим образом , показанный здесь на скриншоте

Не работает ли эта функция с 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

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Хорошо, я как-то заставил это работать.Я думаю, что проблема заключалась в том, что мне пришлось удалить старый файл 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
0 голосов
/ 01 января 2019

Вы используете стадию Let's Encrypt (caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"), поэтому корневой сертификат недействителен, и это ожидаемое поведение.

Пожалуйста, прочитайте https://letsencrypt.org/docs/staging-environment/

Чтобы иметь реальные сертификатынеобходимо использовать конечную точку Let's Encrypt для производства (caServer = "https://acme-v02.api.letsencrypt.org/directory"), которая по умолчанию используется в Traefik.

...