Регистрация GitLab Runner не удалась из-за ошибки TLS: «сертификат использует устаревшее поле Common Name, вместо него используйте SAN»

Я запускаю экземпляр GitLab на экземпляре EC2, расположенном в частной подсети на AWS. Экземпляр EC2 доступен только через SSM (AWS Systems Manager) и OpenVPN, что гарантирует безопасность среды и ее изоляцию от публичного доступа.

Сведения о среде: Экземпляр EC2: запущен в частной подсети (без прямого доступа в Интернет). Доступ: ограничен SSM и OpenVPN. GitLab: установлен и настроен на этом экземпляре EC2. Сертификат SSL: самоподписанный, настроен с SAN (альтернативное имя субъекта). Я пытаюсь зарегистрировать GitLab Runner на этом экземпляре GitLab, но на этапе проверки средства запуска возникает ошибка TLS. Конкретное сообщение об ошибке выглядит следующим образом:

Выполненные действия: Я создал самоподписанный сертификат SSL с OpenSSL, включая поле SAN (альтернативное имя субъекта). Сертификат SSL и ключ правильно размещены в /etc/gitlab/ssl/ как gitlab.olive0-druwa.com.crt и gitlab.olive0-druwa.com.key. Файл gitlab.rb настроен со следующими параметрами: ruby

Вопрос: Как мне устранить эту ошибку TLS и успешно зарегистрировать мой GitLab Runner? Есть ли что-то, что я упускаю в конфигурации, или это может быть связано со способом генерации сертификата? Кроме того, может ли конфигурация частной подсети и ограниченный доступ через SSM и OpenVPN влиять на эту проблему?

Если есть способ просто игнорировать эту проблему, пожалуйста, дайте мне знать.

ERROR: Verifying runner... failed
runner=5j9he2QPz status=couldn't execute POST against https://gitlab.olive0-druwa.com/api/v4/runners/verify: Post "https://gitlab.olive0-druwa.com/api/v4/runners/verify": tls: failed to verify certificate: x509: certificate relies on legacy Common Name field, use SANs instead
PANIC: Failed to verify the runner.
external_url "https://gitlab.olive0-druwa.com"
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.olive0-druwa.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.olive0-druwa.com.key"
I ran sudo gitlab-ctl reconfigure to apply the changes.
Issue:
Despite the above configuration, when attempting to register the GitLab Runner using the following command, I get the TLS verification error:
gitlab-runner register --url https://gitlab.olive0-druwa.com --token YOUR_TOKEN_HERE
The error suggests that the certificate relies on a legacy Common Name (CN) field and that SANs should be used instead, but the certificate already includes a SAN.
Богдан
Вопрос задан30 января 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.