Gitlab CE Lokal SSL

Gitlab’ın self-hosted sürümünü sadece lokalde kullanmak isterseniz, url internete açık olmadığında Let’s Encrypt ile otomatik olarak SSL oluşturamıyor. Yalnızca ip ile erişimde ise genellikle ücretli olarak SSL alma şansı bulunmuyor.

Bu yüzden https kullanmak için self-signed SSL oluşturmak gerekiyor.

Öncelikle /etc/gitlab/gitlab.rb dosyası içerisinde aşağıdaki değişiklikler gerekli.

Ben ip adresi kullanacağım için external_url‘i o şekilde ayarlıyorum.

external_url "https://10.0.0.5"

Let’s Encrypt’i devre dışı bırakalım

letsencrypt['enable'] = false

SSL dosyaları için etc/gitlab/ssl dizini oluşturalım

sudo mkdir -p /etc/gitlab/ssl
sudo chmod 755 /etc/gitlab/ssl

OpenSSL ile bir self-signed sertifika oluşturalım

cd etc/gitlab/ssl
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
  -keyout 10.0.0.5.key -out 10.0.0.5.crt -subj "/CN=10.0.0.5" \
  -addext "subjectAltName=DNS:10.0.0.5,IP:10.0.0.5"

Son olarak Gitlab’ı yeniden konfigüre edelim

sudo gitlab-ctl reconfigure

Not: Eğer daha önceden sistemde sertifika varsa ve sadece openssl ile yenileme yapıldıysa, reconfigure komutu işe yaramayacaktır. Bunun yerine NGINX yenileme için aşağıdaki komut kullanılabilir

gitlab-ctl hup nginx