Por: @eduardoh Publicado em: 2022-11-29

Atualizar certificados Gitlab

Objetivo

Devido a expiração anual do certificado digital wildcard da iTFLEX, é necessário efetuar a atualização do mesmo no servidor Gitlab, e este tutorial irá demonstrar como efetuar o procedimento no Gitlab.

Procedimento

Inicialmente precisamos copiar os novos certificados para o servidor:

scp itflex-bundle.crt git.itflex.com.br:/tmp/ssl
scp itflex.crt git.itflex.com.br:/tmp/ssl
scp itflex.key git.itflex.com.br:/tmp/ssl

Após possuir os certificados no servidor, vá até arquivo /etc/gitlab/gitlab.rb e procure pelas seguintes informações:

cat /etc/gitlab/gitlab.rb | grep ssl_certificate 
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
  • Se essas opções estão comentadas, significa que o Gitlab está usando o diretório padrão para armazenar os certificados SSL, ou seja, /etc/gitlab/ssl/.

Dentro da pasta, efetue um backup (caso necessário) dos certificados existentes e então copie os novos.

Outro ponto importante é, como vimos na variável acima, o nome do certificado deverá ser o FQDN que utilizamos para acessar o Gitlab, no nosso ambiente é git.itflex.com.br.

Devemos então mesclar o certificado do servidor e também o bundle, que possuí a CA embutida.

cat itflex-bundle.crt itflex.crt > /etc/gitlab/ssl/git.itflex.com.br.crt
cp /tmp/ssl/itflex.key /etc/gitlab/ssl/git.itflex.com.br.key

Agora que já efetuamos a troca dos arquivos, basta efetuar um reconfigure e restart dos serviços do Gitlab.

gitlab-ctl reconfigure
gitlab-ctl restart