Моя компания имеет сертификат https://data.ddl.at, который, среди прочего, имеет SAN (альтернативное имя субъекта) для gitlab.ddl.at
.
Этот Gitlab-сервер является внутренним, и доменное имя разрешается только нашим внутренним DNS-сервером.
Для справки, есть еще SAN https://sicher.ddl.at, который общедоступен и действителен в браузере.
Я настроил этот сертификат на Gitlab-сервере, и когда я перехожу к gitlab.ddl.at
, сертификат проверяется браузером и считается действительным.
Проблемы возникают, когда я пытаюсь использовать Gitlab-Runner.
У меня есть один установленный и зарегистрированный на другом компьютере, и после того, как сначала у меня возникли некоторые проблемы, я получил его для подключения к основному экземпляру, но задания по-прежнему не могут проверить подмодули, бегун получает проверка сертификата сервера не удалась
.
Теперь о том, что я считаю корневым симптомом проблемы:
Если я побегу openssl s_client -подключить data.ddl.at:443
, Я получил:
ПОДКЛЮЧЕН(00000005)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
проверить возврат: 1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Расширенная проверка CA — SHA256 — G3
проверить возврат: 1
depth=0 бизнес-категория = частная организация, серийный номер = FN 374566h, юрисдикция C = AT, юрисдикция L = Wels, юрисдикция ST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, улица = Erwin Greiner-Str. 4, OU = GIS, O = DDL GmbH, CN = data.ddl.at
проверить возврат: 1
---
Цепочка сертификатов
0 s:businessCategory = Частная организация, серийный номер = FN 374566h, юрисдикция C = AT, юрисдикция L = Вельс, юрисдикция ST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, улица = Erwin Greiner-Str. 4, OU = GIS, O = DDL GmbH, CN = data.ddl.at
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Расширенная проверка CA — SHA256 — G3
1 s:C = BE, O = GlobalSign nv-sa, CN = расширенная проверка GlobalSign CA — SHA256 — G3
i:OU = GlobalSign Root CA — R3, O = GlobalSign, CN = GlobalSign
---
Сертификат сервера
[...]
И в конце: Подтвердите код возврата: 0 (хорошо)
Теперь, когда я бегу openssl s_client -connect gitlab.ddl.at:443
, Я получил:
ПОДКЛЮЧЕН(00000005)
depth=0 businessCategory = Частная организация, серийный номер = 374566h, юрисдикция C = AT, юрисдикцияL = Вельс, юрисдикцияST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Stra\C3\9Fe 4, OU = ГИС, O = DDL GmbH, CN = data.ddl.at
ошибка проверки: число = 20: невозможно получить сертификат локального эмитента
проверить возврат: 1
depth=0 businessCategory = Частная организация, серийный номер = 374566h, юрисдикция C = AT, юрисдикцияL = Вельс, юрисдикцияST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Stra\C3\9Fe 4, OU = ГИС, O = DDL GmbH, CN = data.ddl.at
ошибка проверки: число = 21: невозможно проверить первый сертификат
проверить возврат: 1
---
Цепочка сертификатов
0 s:businessCategory = Частная организация, серийный номер = 374566h, юрисдикция C = AT, юрисдикцияL = Вельс, юрисдикцияST = Oberoesterreich, C = AT, ST = Oberoesterreich, L = Ruestorf, street = Erwin Greiner-Stra\C3\9Fe 4, OU = ГИС, O = DDL GmbH, CN = data.ddl.at
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign Расширенная проверка CA — SHA256 — G3
---
Сертификат сервера
[...]
С первой ошибкой не удалось получить сертификат локального эмитента
.
Я также пробовал это с общедоступным sicher.ddl.at
, с той же ошибкой, что и gitlab.ddl.at
.
Сертификат, который он получает, предназначен для data.ddl.at
, но у него есть SAN gitlab.ddl.at
, разве это не должно сделать его действительным? Что я делаю не так?