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.
1 |
external_url "https://10.0.0.5" |
Let’s Encrypt’i devre dışı bırakalım
1 |
letsencrypt['enable'] = false |
SSL dosyaları için etc/gitlab/ssl dizini oluşturalım
1 2 |
sudo mkdir -p /etc/gitlab/ssl sudo chmod 755 /etc/gitlab/ssl |
OpenSSL ile bir self-signed sertifika oluşturalım
1 2 3 4 |
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
1 |
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
1 |
gitlab-ctl hup nginx |