Gitlab и fullchain сертификат для работы Runner

Если у вас Gitlab работает на субдомене, то для работы gitlab runners и вообще для работы https рекомендуется ставить сертификат, содержащий полную цепочку от вашего субдомена до корневого домена.

У нас имеется:

  1. .crt файл, содержащий открытую публичную часть нашего сертификата субдомена
  2. .key файл, содержащий приватный ключ субдомена
  3. .pem файл, содержащий публичную часть корневого сертификата домена

Закрытый ключь домена — your_domain_name.key
Первичный сертификат — your_domain_name.crt
Промежуточный сертификат — DigiCertCA.crt
Корневой сертификат — TrustedRoot.crt

.pem должен выглядеть примерно так:

Создание .pem файла с закрытым ключем для всей цепочки:

Make sure to include the beginning and end tags on each certificate. The result should look like this:

——BEGIN RSA PRIVATE KEY——
(your_domain_name.key)
——END RSA PRIVATE KEY——
——BEGIN CERTIFICATE——
(your_domain_name.crt)
——END CERTIFICATE——
——BEGIN CERTIFICATE——
(DigiCertCA.crt)
——END CERTIFICATE——
——BEGIN CERTIFICATE——
(TrustedRoot.crt)
——END CERTIFICATE——

Получается что наш .pem будет состоять из нескольких частей.

Дальше нам нужно из .pem сгенерировать приватный ключ:

openssl rsa -in fullchain.pem -out fullchain_private.key

Далее копируем наш получившийся fullchain_private.key в директорию /etc/gitlab/ssl/ и переименовываем его чтобы не запутаться в your_domain_name.key

Из файла .pem убираем приватный ключь и копируем его в директорию /etc/gitlab/ssl/ c именем your_domain_name.pem

Далее в конфиг файл добавляем строки (или меняем):

nginx[‘ssl_certificate’] = «/etc/gitlab/ssl/your_domain_name.pem»

nginx[‘ssl_certificate_key’] = «/etc/gitlab/ssl/your_domain_name.key»

Переконфигурируем Gitlab:

sudo gitlab-ctl reconfigure


Проверяем что все добавилось:

sudo openssl s_client -connect  your_domain_name:443 -showcerts /dev/null

Добавить комментарий