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