Я пытаюсь настроить службу типа Let's Encrypt в частной сети с помощью Step-ca и traefik Smallstep.
И я застрял, потому что step-ca не может проверить запрос сертификата от traefik..
Вот что я сделал до сих пор.
Я запустил службу step-ca в док-контейнере, как описано в эта документация на сервере с IP "172.16.4.5". я тоже следил эта документация, чтобы добавить точку входа acme.
На другом сервере «172.16.4.4» я запустил конфигурацию для создания докеров с помощью Traefik 2.4 и службы «whoami» (как здесь официальный пример).
Все имена внутренних доменов обслуживаются частным DNS-сервером. И каждый сервер разрешил доменное имя без проблем.
Сервер и контейнер step-ca могут подключаться к серверу 172.16.4.4 через порты 80 и 443. Сервер 172.16.4.4 и контейнер traefik могут подключаться к 172.16.4.5. Я установил в контейнер traefik корневой сертификат, сделанный с помощью step-ca во время его инициализации.
Я настроил traefik для использования TSL Challenge. Traefik инициализирует вызов, и я не знаю, почему step-ca вызывает ошибку
{"type":"urn:ietf:params:acme:error:connection","detail":"Сервер
не удалось подключиться к цели проверки"}}
Ниже полная ошибка, вызванная step-ca :
INFO[0126] продолжительность = 63,427116 мс продолжительность-ns = 63427116 fields.time="2021-07-13T09:55:33Z" метод = имя POST = ca nonce = путь XX =/протокол acme/company.int/authz/XX =HTTP/1.1 referer=удаленный-адрес=172.16.4.4 request-id=xx response="{\"identifier\":{\"type\":\"dns\",\"value\":\"whoami .company.int\"},\"статус\":\"ожидание\",\"проблемы\":[{\"тип\":\"dns-01\",\"статус\":\" в ожидании\",\"токен\":\"XX\",\"url\":\"https://acme.company.int:9000/acme/company.int/challenge/XX/XX\"} ,{\"тип\":\"http-01\",\"статус\":\"ожидание\",\"токен\":\"XX\",\"url\":\"https: //acme.company.int:9000/acme/company.int/challenge/XX/XX\"},{\"type\":\"tls-alpn-01\",\"status\":\" в ожидании\",\"токен\":\"XX\",\"url\":\"https://acme.company.int:9000/acme/company.int/challenge/XX/XX\", \"ошибка\":{\"тип\":\"urn:ietf:params:acme:error:connection\",\"detail\":\"Серверу не удалось выполнить проверку\"}}],\ "подстановочный знак\":false,\"expires\":\"2021-07-14T09:54:24Z\"}" size=872 status=200 user-agent="containous-traefik/2.4.8 xenolf-acme/ 4 .3.1 (выпуск; линукс; amd64)" идентификатор пользователя =
Здесь Traefik config.toml
[апи]
небезопасно = верно
приборная панель = правда
отладка = правда
[сертификаты Resolvers]
[сертификатыResolvers.myresolver]
[сертификатыResolvers.myresolver.acme]
caServer = "https://acme.compagny.int:9000/acme/company.int/directory"
электронная почта = "чувак@mailthings.dn"
хранилище = "/etc/traefik/acme/acme.json"
[сертификатыResolvers.myresolver.acme.tlsChallenge]
[провайдеры]
[провайдеры.докер]
смотреть = правда
сеть = "traefik_webgateway"
режим роя = ложь
выставлено по умолчанию = ложь
[файл провайдеров]
имя файла = "traefik.toml"
каталог = "/etc/traefik"
Вот файл /home/step/config/ca.json для службы step-ca:
{
"root": "/home/step/certs/root_ca.crt",
"федеративные корни": [],
"crt": "/home/step/certs/intermediate_ca.crt",
"key": "/home/step/secrets/intermediate_ca_key",
"адрес": ":9000",
"небезопасныйАдрес": "",
"ДНСИмена": [
"acme.company.int"
],
"орган власти": {
"поставщики": [
{
"тип": "JWK",
// [...]
},
"зашифрованный ключ": "ххх"
},
{
"тип": "ACME",
"имя": "company.int",
"forceCN": правда,
"претензии": {
"maxTLSCertDuration": "2160h0m0s",
"defaultTLSCertDuration": "2160h0m0s"
}
},
{
"тип": "ACME",
"имя": "акме"
}
],
"шаблон": {},
"задняя дата": "1м0с"
},
"TLS": {
«шифролюксы»: [
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
],
"минВерсия": 1.2,
"maxVersion": 1.3,
«пересмотр»: ложь
}
}